Array.of / Array() în JavaScript

Tablouri (array) Toate browserele (Array.of: ES2015)

Creează un tablou din valorile primite; diferența față de constructorul Array().

Sintaxă
Array.of(element1, element2, ...)
new Array(lungime)
[element1, element2]

Ce face Array.of / Array()

Cel mai simplu tablou se scrie direct: [1, 2, 3]. Constructorul Array() (cu sau fără new) are o capcană: cu un singur număr, creează un tablou gol de acea lungime, nu un tablou cu numărul respectiv.

Array.of rezolvă capcana: pune mereu valorile primite ca elemente, indiferent câte sunt și ce tip au.

Parametri

Parametru Descriere
element1, element2, ... Elementele tabloului.

Ce returnează

Un tablou nou.

Exemple

Exemplul 1: Capcana constructorului

console.log(Array(3));
console.log(Array(3, 4));
console.log(Array.of(3));
console.log(Array.of(3, 4));
console.log(new Array("3"));

Rezultat

[ <3 empty items> ]
[ 3, 4 ]
[ 3 ]
[ 3, 4 ]
[ '3' ]

Exemplul 2: Un tablou de lungime fixă, umplut

console.log(new Array(4).fill(0));

Rezultat

[ 0, 0, 0, 0 ]

Greșeli frecvente

  • Scrii new Array(n) și apoi folosești map: elementele lipsă sunt sărite. Umple tabloul întâi cu fill sau folosește Array.from.

Comenzi înrudite

  • Array.from: Creează un tablou nou din orice listă: text, Set, Map, NodeList sau un obiect cu length.
  • Array.prototype.fill: Umple tabloul (sau o parte din el) cu aceeași valoare.
  • Array.isArray: Verifică dacă o valoare este un tablou (array).