Création de tableaux avec des valeurs étendues en JavaScript
Les programmeurs rencontrent souvent le besoin de créer des tableaux contenant une plage de valeurs. Une approche courante implique une boucle qui ajoute de manière itérative chaque élément au tableau. Cependant, existe-t-il une méthode plus concise et efficace sans utiliser de boucle ?
Dans ES6, JavaScript a introduit deux méthodes clés pour résoudre ce problème : Array.from() et keys(). En utilisant Array.from(), on peut convertir un objet itérable en tableau. La méthode keys() renvoie un itérateur pour les clés d'un objet donné. En combinant ces méthodes, vous pouvez créer un tableau avec une plage de valeurs.
Solution utilisant Array.from() et keys()
Array.from(Array(10).keys()) // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
L'approche ci-dessus exploite le fait qu'Array(n) crée un tableau de longueur n, rempli initialement de valeurs non définies. En utilisant keys() sur ce tableau, nous obtenons un itérable des clés du tableau, qui correspondent à la plage de nombres souhaitée. Array.from() convertit ensuite cet itérable en tableau.
Version plus courte avec opérateur Spread
[...Array(10).keys()] // Result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
L'opérateur spread (...) vous permet de développer un itérable en ses éléments individuels. Ainsi, la version plus courte de la solution précédente utilise l'opérateur spread pour arriver au même résultat.
Partant de 1
Pour démarrer la plage de 1 au lieu de 0, vous pouvez utiliser la fonction map() avec Array.from() :
Array.from({length: 10}, (_, i) => i + 1) // Result: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
La fonction map() transforme chaque élément en itérable. Ici, chaque élément est une valeur transmise par le tableau d'origine, représentée par l'espace réservé _, et son index correspondant, représenté par i. La transformation ajoute 1 à l'index, en commençant la plage à partir de 1. Le résultat est ensuite transmis à Array.from() pour créer le tableau final.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!