
En ce qui concerne le code en JavaScript, les développeurs ont trouvé que la fonction de réduction était l'un des concepts les plus difficiles à résoudre. Selon Wikipedia, Reduce a plusieurs noms: Accumulez, pliez, compressez et agrégez. Ces noms indiquent clairement la signification et le fonctionnement de la fonction de réduction. L'idée derrière cela est de décomposer une structure en une seule valeur. Par conséquent, Reduce peut être défini comme une fonction qui convertit une liste en n'importe quel type de données.
Par exemple, vous pouvez réduire un tableau [5,4,3,2,1] en valeur 15 en les ajoutant simplement.La fonction de réduction empêche les développeurs d'utiliser la boucle pour replier une liste en une seule valeur.
Dans ce blog, vous apprendrez des façons d'implémenter des fonctions bien connues en utilisant réduire comme cela a déjà été fait par les développeurs de la
meilleure société de développement de logiciels .
J'ai répertorié 10 fonctions utilitaires JavaScript recréées à l'aide de la fonction de réduction. Alors, regardez ci-dessous ces fonctions: -Paramètres utilisés
tableau (pour transformer la liste des éléments), fonction transform (est une fonction utilisée pour s'exécuter sur chaque élément)
Travailler
En utilisant la transformFunction donnée, chaque élément du tableau donné est transformé et renvoie un nouveau tableau d'éléments.
Comment l'implémenter?
const map = (transformFunction, array1) => array1.reduce((newArray1, xyz) => { newArray1.push(transformFunction(xyz)); return newArray1; }, [] );
Cas d'utilisation:
const double = (x) => x * 2; const reverseString = (string) => string .split('') .reverse() .join(''); map(double, [200, 300, 400]); Output: [400, 600, 800] map(reverseString, ['Hello Alka', 'I love cooking']);
Paramètres utilisés
tableau (liste des éléments / valeurs à filtrer), prédicat (fonction renvoyant une valeur vraie ou fausse)
Travailler
Rejeter a un comportement opposé pour filtrer mais identique comme ça. Si le prédicat renvoie une valeur fausse, seul l'élément sera ajouté au nouveau tableau. Sinon, l'élément sera exclu du nouveau tableau.
Comment l'implémenter?
const reject = (predicate, arr3) => arr3.reduce((newArray, val3) => { if (predicate(val3) === false) { newArray.push(val3); } return newArray; }, [] );
Cas d'utilisation:
const isEven = (z) => z % 2 === 0; reject(isEven, [1, 6, 4, 3]);
Paramètres utilisés
tableau (liste des éléments), réducteur (est une fonction qui reçoit deux paramètres, à savoir l'accumulateur et l'élément actuel de la liste des tableaux)
Travailler
Son fonctionnement est similaire pour réduire mais au lieu de renvoyer la valeur unique en conséquence, il retourne une liste de chaque valeur réduite correspondant à la sortie unique.
Comment l'implémenter?
const scan = (reducer, initialVal, array) => { const reducedValues = []; array.reduce((acc, currentval) => { const newAcc = reducer(acc, currentval); reducedValues.push(newAcc); return newAcc; }, initialVal); return reducedValues; };
Cas d'utilisation:
const add = (y, z) => y + z; const multiply = (y, z) => y * z; scan(add, 0, [1, 2, 3, 4]);
Paramètres utilisés
tableau (pour filtrer la liste des éléments), prédicat (est une fonction pour retourner une valeur fausse ou vraie)
Travailler
Ici, vous obtiendrez un nouveau tableau en sortie. Si la fonction de prédicat renvoie une valeur vraie, l'élément sera ajouté au nouveau tableau. Cependant, s'il renvoie false, l'élément sera exclu du nouveau tableau.
Comment l'implémenter?
const filter = (predicate, arr1) => arr1.reduce((newArray, val) => { if (predicate(val) === true) { newArray.push(val); } return newArray; }, [ ] );
Cas d'utilisation:
const isEven = (y) => y % 2 === 0; filter(isEven, [3, 2, 5]);
Paramètres utilisés
tableau (liste des éléments à tester), prédicat (fonction pour renvoyer la valeur true ou false)
Travailler
Ici, aucun ne renvoie la valeur vraie si le prédicat renvoie une valeur fausse pour chaque élément. Sinon, il retournera une fausse valeur pour chaque vraie valeur de prédicat.
Comment l'implémenter?
const none = (predicate, array) => array.reduce((acc1, val1) => !acc1 && !predicate(val1), false);
Cas d'utilisation:
const isEven2 = (x) => x % 2 === 0; none(isEven2, [1, 3, 5]);
Paramètres utilisés
tableau (contient une liste d'éléments), prédicat (fonction renvoyant une valeur fausse ou vraie)
Travailler
Il définit la division d'un tableau en deux en fonction de la valeur de prédicat. Si le prédicat renvoie une valeur vraie, l'élément ira à list1. Sinon, il ira à la liste2. La méthode pour diviser le tableau en différents morceaux a été utilisée par les programmeurs modernes associés aux meilleures sociétés de développement de logiciels. Jetons un coup d'œil aux étapes suivantes:
Comment l'implémenter?
const partition = (predicate, array) => array.reduce( (result3, item) => { const [list1, list2] = result; if (predicate(item) === true) { list1.push(item); } else { list2.push(item); } return result3; }, [ [], [] ] );
Cas d'utilisation:
const isEven = (z) => z % 2 === 0; partition(isEven, [1, 2, 3]);
Paramètres utilisés
tableau (pour tester la liste des éléments), prédicat (est une fonction pour retourner la valeur true ou false)
Travailler
En fournissant une valeur d'entrée, si le prédicat renvoie la valeur true, tous renverront la valeur true. Sinon, il retournera une fausse valeur.
Comment l'implémenter?
const all = (predicate, array) => array.reduce((arr, val) => arr && predicate(val), true);
Cas d'utilisation:
const sequl3 = (x) => x === 3; all(sequl3, [3]);
Paramètres utilisés
tableau (pour tester la liste des éléments), prédicat (est une fonction pour renvoyer la valeur true ou false)
Travailler
Pour toute valeur d'entrée, si le prédicat retourne vrai, alors certains retourneront vrai. Sinon, il retournera une fausse valeur.
Comment l'implémenter?
Prenons un exemple: const some = (predicate, array) => array.reduce((arc, val) => arc || predicate(val), false);
Cas d'utilisation:
const aqua3 = (x) => x === 3; some(aqua3, [3]);
Paramètres utilisés
tableau (pour stocker la valeur des éléments), clé (pour extraire le nom de la clé de l'objet)
Travailler
Il peut extraire la clé donnée de chaque élément du tableau et renvoie en outre un nouveau tableau des valeurs respectives.
Comment l'implémenter?
const pluck = (key3, array) => array.reduce((values3, current) => { values.push(current[key3]); return values3; }, [] );
Cas d'utilisation:
pluck('name', [{ name: 'Soman' }, { name: 'Rovin' }, { name: 'Jojo' }]);
Paramètres utilisés
tableau (pour rechercher des éléments dans la liste des tableaux), prédicat (fonction renvoyant une valeur fausse ou vraie)
Travailler
Il retournera le premier élément qui correspond au prédicat donné et si aucune correspondance n'est trouvée, alors undefined est retourné.
Comment l'implémenter?
const find = (predicate, array) => array.reduce((output, item) => { if (output !== undefined) { return output; } if (predicate(item) === true) { return item; } return undefined; }, undefined);
Cas d'utilisation:
const isEven = (a) => a % 2 === 0; find(isEven, []);
Note finale:
C'est ainsi que vous pouvez implémenter des fonctions utilitaires JavaScript en utilisant réduire en moins de temps. Cela aidera certainement les développeurs de logiciels à gagner du temps ainsi que leurs efforts de codage. Dans le cas où vous avez besoin d'un support parfait pour vos requêtes de codage, vous pouvez contacter une société de développement de logiciels spécialisée pour les besoins de votre projet.