Je recherche une commande qui renvoie l'index d'un élément pour pouvoir l'utiliser dans les fonctions de carte.
Voici un exemple:
function myFunction() { var a = [4,7,9]; //Looking for a way to return ["index 0 : 4", "index 1 : 7", "index 2 : 9"] //Only workaround found so far : var i = -1; Logger.log(a.map(function(el) {i++; return "index " + i + " : " + el})); }
I ' Je suis sûr qu'il existe un moyen plus soigné avec une commande qui me donnerait l'index de l'élément, mais toutes mes recherches Google ont été infructueuses jusqu'à présent.
4 Réponses :
Le deuxième paramètre de la fonction de rappel est index
que vous pouvez utiliser
function myFunction() { var a = [4,7,9]; console.log(a.map((v,i)=> "index " + i + " : " + v)); } myFunction()
Array.map((value,index,this))
Vous pouvez le rendre plus propre en trois étapes:
map ()
qui est l'index de l'élément. +
encore et encore.
const myFunction = arr => console.log(arr.map((x,i) => `index ${i} : ${x}`)); myFunction([4,7,9])
Dans votre code ci-dessus, vous avez créé une fonction qui n'a aucun sens. Cette fonction doit prendre un tableau comme paramètre, puis consigner la valeur de cet arr particulier.
var a = [4,7,9]; let res = a.map((x,i) => `index ${i} : ${x}`); console.log(res)
map code >
vous donne déjà l'index. Le rappel obtient trois paramètres:
a.map(function(element, index, array) {return "index " + index + " : " + element})
Vous n'avez pas besoin de déclarer les trois (JavaScript n'est pas difficile à ce sujet), mais ils sont là si vous en avez besoin.
Vous pouvez également simplement utiliser Array. de puisque son deuxième argument est un Array.map :
console.log(Array.from([4,7,9], (x, i) => `index ${i} : ${x}`))
L'idée générale est d'utiliser le 2ème paramètre de la carte (qui vous fournit l'index d'itération actuel) et avec cela et la valeur actuelle pour construire votre résultat.