Maison >interface Web >js tutoriel >Méthode JavaScript Array réduire()

Méthode JavaScript Array réduire()

王林
王林original
2024-08-28 06:05:021028parcourir

JavaScript Array reduce() Method

Salut ! Dans ce blog, vous découvrirez la « méthode de réduction » et comment l'utiliser en JavaScript. Alors commençons.

Reduce est l'une des méthodes de tableau en JavaScript. Il prend un tableau en entrée et renvoie une seule valeur. La méthode de réduction est utile lorsque vous souhaitez traiter chaque élément d'un tableau et mettre à jour une valeur commune basée sur la fonction de rappel fournie.

Plongeons plus profondément :
Réduire prend deux arguments :

  1. Fonction de rappel
  2. Point de départ (valeur initiale), appelons-le "résultat" (*Facultatif)

Il commence par le premier élément du tableau, le transmet à la fonction de rappel et stocke le résultat dans "result". Après avoir traité le dernier élément, il renvoie le « résultat » final.

*Facultatif :

Si le tableau est vide et qu'aucune valeur initiale n'est fournie, la réduction générera une TypeError car il n'y a aucun élément pour servir d'accumulateur initial.

Si le tableau n'a qu'un seul élément et qu'aucune valeur initiale n'est fournie, réduire renvoie cet élément unique sans appeler le rappel.

Exemples :
Ces exemples vous aideront à comprendre comment et où utiliser la méthode de réduction. N'hésitez pas à poser des questions dans les commentaires.

Facile :
Q. Étant donné un tableau, additionnez ses éléments.

Solution utilisant la méthode de réduction.

const arr = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumofArray = arr.reduce(
  (result, element) => result + element,
  initialValue,
);

console.log(sumofArray);
// Expected output: 10

Explication :
Initialement, le résultat sera zéro, car nous avons fourni zéro comme deuxième argument. Ensuite, pour chaque élément, il ajoutera cet élément au résultat et enfin, la valeur du résultat final sera renvoyée.

Moyen :

Cet exemple est tiré de : https://leetcode.com/problems/flatten-deeply-nested-array/description/

Q. Étant donné un tableau multidimensionnel arr et une profondeur n, renvoie une version aplatie de ce tableau.

Un tableau multidimensionnel est une structure de données récursive qui contient des entiers ou d'autres tableaux multidimensionnels.

Un tableau aplati est une version de ce tableau avec tout ou partie des sous-tableaux supprimés et remplacés par les éléments réels de ce sous-tableau. Cette opération d'aplatissement ne doit être effectuée que si la profondeur d'imbrication actuelle est inférieure à n. La profondeur des éléments du premier tableau est considérée comme égale à 0.

Solution avec la méthode Réduire :

function flattenArray(arr, depth) {
    if(depth===0) return arr;
    return arr.reduce((result,element) => {
       if(Array.isArray(element)&&depth>0) {
          result.push(...flattenArray(element, depth-1));
       } else {
          result.push(element); 
       }
       return result;
   }, []);
}

Explication :
Si la profondeur est nulle, nous n’avons rien à faire. Sinon, nous utilisons la récursivité et l'opérateur spread pour ajouter les éléments au résultat.

C'est ça ! J'espère que vous avez bien appris la méthode de réduction.

Références :
Array.prototype.reduce() de MDN

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!

Déclaration:
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