Array. of()
Crée un nouveau tableau à partir des arguments donnés, quel que soit leur nombre ou leur type.
- Renvoie
- Un nouveau tableau avec les éléments donnés.
- Modifie l’original
- Non
Exemple
#console.log(Array.of(7))
console.log(Array.of(1, 2, 3))
console.log(Array.of('HTML', 'CSS'))
console.log(Array.of())Définition et utilisation
#La méthode statique Array.of() crée un tableau dont les éléments sont exactement les arguments passés. Array.of(7) donne un tableau avec un seul élément 7, et Array.of(1, 2, 3) un tableau de trois nombres.
Elle existe pour contourner le comportement étrange du constructeur Array. L’appel new Array(3) avec un seul nombre ne crée pas le tableau [3], mais un tableau vide de longueur 3, et new Array(2.5) lève une erreur. Array.of() traite toujours les arguments comme des éléments.
Au quotidien, on crée les tableaux avec le littéral [1, 2, 3], plus court et plus clair. Array.of() est utile quand vous avez besoin d’une fonction qui construit un tableau à partir d’arguments, et dans les classes héritant d’Array, car elle renvoie une instance de cette classe.
Syntaxe
#Array.of(element1, element2, …)Paramètres
#element1…elementN
valeurs quelconques
Valeurs qui deviendront les éléments du tableau. Sans argument, le tableau sera vide.
Plus d’exemples
#console.log(new Array(3).length)
console.log(Array.of(3).length)
console.log(new Array(3, 4))
try {
new Array(2.5)
} catch (error) {
console.log(error.name)
}Le constructeur Array avec un seul nombre le traite comme une longueur, et avec plusieurs arguments comme des éléments. Array.of() n’a pas cette incohérence.
const tags = ['html', 'css']
console.log(tags.map((tag) => Array.of(tag)))
console.log(tags.map(Array.of))map() passe aussi l’indice et le tableau entier à la fonction, et Array.of transforme chaque argument en élément. Enveloppez l’appel dans une fonction fléchée pour ne passer qu’un seul argument.
Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Pour créer des tableaux normalement, utilisez le littéral
[]. UtilisezArray.of()quand vous en avez besoin comme fonction. - Ne créez pas un tableau avec
new Array(n)si vous voulez un tableau contenant le nombren. Vous obtiendrez un tableau vide de longueurn. - Pour un tableau de longueur connue rempli de valeurs,
Array.from({ length: n }, fn)est préférable.
Entrées associées
#- Array.from()Crée un tableau à partir d’un objet itérable ou « semblable à un tableau ».
- Array.isArray()Vérifie si une valeur est un tableau.
- Array.prototype.fill()Remplit un tableau (ou une partie de celui-ci) avec une seule valeur.
- Spread (...)La syntaxe spread décompose un tableau, une chaîne ou un objet en éléments individuels : pour copier, fusionner et passer des arguments.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.