reduce() est le meilleur moyen d'accumuler chaque élément des données d'un tableau dans une valeur, donc dans cet article, nous présenterons en détail comment utiliser réduire() en JavaScript.
Jetons un coup d'œil au contenu spécifique.
Supposons que nous ayons un tableau comme celui-ci :
var numbers = [1,2,3,4,5,6,7,8,9]; var strings = ['苹果','香蕉','梨子','葡萄','荔枝'];
Dans cet exemple, nous avons préparé un tableau pour stocker des données numériques et un tableau pour stocker des données de chaîne.
La façon la plus évidente d'utiliser réduire() est de calculer la valeur de toutes les valeurs stockées dans un tel tableau.
Si numérique, vous pouvez calculer la valeur additionnée, si char, vous pouvez concaténer des chaînes individuelles ensemble.
Voyons comment utiliser réduire() ?
reduce() peut exécuter n'importe quelle fonction sur le tableau cible.
数组.reduce(function(累积值, 元素) { })
La "valeur cumulée" du premier paramètre représente la valeur obtenue en traitant les éléments du tableau en séquence.
Le deuxième paramètre "element" représente l'élément du tableau actuellement traité.
Utilisez "retour" dans cette fonction, en renvoyant tout traitement, le résultat est conservé dans la valeur accumulée, et enfin une valeur peut être obtenue.
Regardons un exemple spécifique
Sommez chaque élément du tableau
Le code est le suivant
var numbers = [1,2,3,4,5,6,7,8,9]; var result = numbers.reduce(function(a, b) { return a + b; }) console.log(result);
Les résultats d'exécution sont les suivants
Dans cet exemple, réduire() est effectué sur un tableau stockant des nombres de 1 à 9.
Dans la fonction, vous pouvez voir les valeurs accumulées et chaque élément est simplement ajouté.
devient "1 + 2" lors du premier traitement, stocke la somme dans la valeur accumulée et exécute "3 + 3" lors du traitement suivant.
En faisant cela, le résultat final est que la somme de toutes les valeurs est "45".
Enfin, nous devons souligner un point :
Il n'est pas autorisé d'utiliser la méthode de traitement d'interruption "break" dans la fonction réduire(), donc comme alternative, il y a une interruption qui utilise le numéro d'index du tableau. Jetons un bref coup d'œil à la méthode ci-dessous.
En fait, la fonction réduire() peut avoir jusqu'à quatre paramètres.
配列.reduce(function(累积值, 元素, 索引号, 数组) { })
Le troisième paramètre "numéro d'index" représente le numéro d'index du tableau en cours de traitement.
Le quatrième paramètre "array" représente le tableau lui-même en cours de traitement.
Grâce à ce paramètre, le processus d'interruption peut être mis en œuvre comme suit !
var numbers = [1,2,3,4,5,6,7,8,9]; var result = numbers.reduce(function(a, b, index, arr) { if(index >= 3) arr.splice(1); return a + b; }); console.log(result);
Les résultats d'exécution sont les suivants
Veuillez faire attention à l'instruction IF dans la fonction réduire() !
En décrivant "index> = 3" dans l'expression conditionnelle, lorsqu'il devient le troisième numéro d'index du tableau, un traitement arbitraire peut être effectué.
Le processus devient "arr.splice(1)" et supprime tous les éléments du tableau après le troisième index.
Ainsi, le traitement de réduire() se terminera, vous pourrez donc exécuter la même fonction que "break".
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!