Maison > interface Web > js tutoriel > Analyser la méthode de tableau JavaScript réduire

Analyser la méthode de tableau JavaScript réduire

高洛峰
Libérer: 2016-12-28 09:48:47
original
1139 Les gens l'ont consulté

Array.prototype.reduce()

Présentation

La méthode réduire() est une méthode d'instance (méthode partagée) du tableau et peut être appelée par l'objet instance du tableau . La méthode réduire() accepte une fonction comme accumulateur et chaque valeur du tableau (de gauche à droite) est réduite à une valeur.

Syntaxe

arr.reduce(callback[, initialValue]) {}

Paramètres

Quatre paramètres peuvent être transmis dans la fonction de rappel.

previousValue : la valeur renvoyée par la dernière fonction de rappel, ou la valeur initiale fournie (initialValue)

currentValue : l'élément actuellement traité dans le tableau

currentIndex : current Le index de l'élément traité dans le tableau, c'est-à-dire l'index de currentValue. S'il y a une valeur initiale de initialValue, elle commence à 0. S'il ne commence pas à 1

array : Le tableau où réduire est appelé

initialValue : Oui Sélectionnez les paramètres, comme premier paramètre du premier appel de rappel

Valeur de retour

La valeur de retour de réduire() est le résultat renvoyé par le dernier appel de fonction de rappel

Description

reduce exécute tour à tour la fonction de rappel pour chaque élément du tableau, en excluant les éléments qui sont supprimés ou qui n'ont jamais reçu de valeur dans le tableau. Il accepte quatre paramètres :

previousValu valeur précédente

currentValue valeur actuelle

currentIndex index de la valeur actuelle

array array

Lorsque la fonction de rappel est exécutée pour la première fois, previousValue et currentValue peuvent être l'une des deux valeurs différentes. Premièrement, si réduire a un paramètre initialValue, alors previousValue est égal à initialValue et currentValue est égal à la première valeur du tableau si réduire n'a pas de paramètre initialValue ; , alors previousValue est égal à la première valeur du tableau et currentValue est égal à la deuxième valeur du tableau.

Remarque : s'il n'y a pas de paramètre initialValue, réduire commence à exécuter la fonction de rappel à partir de l'index 1, en ignorant le premier index. S'il y a un paramètre initialValue, réduire exécutera le rappel à partir de l'index 0

Si le tableau est vide et qu'il n'y a pas de paramètre initialValue, une erreur TypeError sera générée si le tableau n'a qu'un seul élément et aucun. valeur initiale initialValue, ou s'il existe initialValue mais que le tableau est vide, cette valeur unique est renvoyée directement sans appeler la fonction de rappel.

Il est généralement plus sûr de fournir une valeur initiale, car sinon, le résultat suivant apparaîtra.

//没有提供initialValue
function foo(){
 return [1,2,3,4,5].reduce((x, y) => x + y); //15
};
console.log(foo.call(this));
function foo(){
 return [].reduce((x, y) => x + y); //TypeError
};
console.log(foo.call(this));
//提供initialValue
function foo(){
 return [].reduce((x, y) => x + y, 0); //0
};
console.log(foo.call(this));
Copier après la connexion

Comment fonctionne réduire()

[0, 1, 2, 3, 4].reduce((previousValue, currentValue, index, array) => previousValue + currentValue);
Copier après la connexion

Le rappel est exécuté quatre fois. Les paramètres et les valeurs de retour​​de chaque fois sont les suivants :

Analyser la méthode de tableau JavaScript réduire

La valeur de retour de réduire est la valeur de retour de la dernière fois que la fonction de rappel a été appelée (10).

Si la valeur initiale est passée dans réduire comme deuxième paramètre, le résultat est le suivant :

[0, 1, 2, 3, 4].reduce((previousValue, currentValue, index, array) => previousValue + currentValue, 10);
Copier après la connexion

Analyser la méthode de tableau JavaScript réduire

La valeur de retour de la dernière fonction call (20) Renvoyé comme résultat de la fonction de réduction

Remarque : l'ajout du paramètre initialValue appellera la fonction de rappel une fois de plus

Exemple de problème

Ajouter tous les éléments dans le tableau

let sum = [0, 1, 2, 3, 4].reduce((x, y) => x + y, 0); 
// 10
Copier après la connexion

Aplatir un tableau bidimensionnel

let arr = [[1, 2], [3, 4], [5, 6]].reduce((x, y) => x.concat(y), []);
// [1, 2, 3, 4, 5, 6]
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra apporter de l'aide à tout le monde. étudier ou travailler, et j'espère également votre soutien sur le site PHP chinois !

Pour plus d'articles liés à l'analyse de la méthode de tableau JavaScript, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal