JavaScript-Arrays : die Verringerung Legendes Funktion
Syntax
arr.reduce(callbackFunction, [initialValue])
Was ist zu tun reduce?
Zu reduzieren, ist eine Funktion, die durch ein Array Schleifen.
Operationen können über eine Callback-Funktion auf dem Array durchgeführt werden,.
Am Ende der Operationen auf dem Array, reduzieren gibt einen einzelnen Wert
Reduzieren Sie kann verwendet werden,, beispielsweise, einen Warenkorb auf insgesamt
Beispiel
lassen arr = [1,2,3,4,5];
arr.reduce( (Akkumulator, aktueller Wert, Momentan, Feld) => {
//einige Operationen;
etwas zurückbringen;
});
Die Callback-Funktion
Die Callback-Funktion wird für jedes Element in dem Array aufgerufen, vorbei in 4 Argumente, die durch die Verringerung in Funktion übergeben werden.
Diese 4 Argumente, dann können Sie in unserer Callback-Funktion verwendet werden,.
Nimmt vier Argumente
- Akkumulator – Das erste Element des Feldes auf der ersten Schleife oder Anfangswert, wenn gelieferten. Dann wird der Rückgabewert der vorherigen Schleife.
- aktueller Wert – Das aktuelle Element in der Matrix. Beginnt, sich von dem zweiten Element in dem Array dh. arr[1], wenn der Anfangswert Argument nicht bestanden. Wenn der Anfangswert Argument übergeben wird, beginnt dann aktuelle Wert aus dem ersten Elemente in dem Array arr[0].
- Momentan – Der Index des aktuellen Elements.
- Feld – Das gesamte Array.
Arbeitsbeispiel
lassen arr = [1,2,3,4,5]; arr.reduce( (Akkumulator, aktueller Wert, Momentan, Feld) => { console.log(`Akkumulator (Am 1. Schleife, Akkumulator arr[0], dann ist es der zurückgegebene Wert der vorherigen Schleife): ${Akkumulator}`); console.log(`current (Schleifen durch das Array, ab arr[1]): ${aktueller Wert}`); console.log(`Momentan: ${Momentan}`); console.log(`Array: ${Feld}`); console.log('---'); Rücklaufspeicher + aktueller Wert; } );
Ausgabe
Akkumulator (Am 1. Schleife, Akkumulator arr[0], dann ist es der zurückgegebene Wert der vorherigen Schleife): 1 aktueller Wert (Schleifen durch das Array, ab arr[1]): 2 Momentan: 1 Feld: 1,2,3,4,5 --- Akkumulator (Am 1. Schleife, Akkumulator arr[0], dann ist es der zurückgegebene Wert der vorherigen Schleife): 3 aktueller Wert (Schleifen durch das Array, ab arr[1]): 3 Momentan: 2 Feld: 1,2,3,4,5 --- Akkumulator (Am 1. Schleife, Akkumulator arr[0], dann ist es der zurückgegebene Wert der vorherigen Schleife): 6 aktueller Wert (Schleifen durch das Array, ab arr[1]): 4 Momentan: 3 Feld: 1,2,3,4,5 --- Akkumulator (Am 1. Schleife, Akkumulator arr[0], dann ist es der zurückgegebene Wert der vorherigen Schleife): 10 aktueller Wert (Schleifen durch das Array, ab arr[1]): 5 Momentan: 4 Feld: 1,2,3,4,5 ---
Die Bereitstellung der Anfangswert
Festlegen des zweiten Parameters (Ursprünglicher Wert) in der Verringerung Funktion bewirkt initial auf der ersten Schleife geführt, in den Akkumulator als Argument werden.
Man beachte, dass der aktuelle Wert auf der 1. Schleife beginnt nun am ersten Elemente des Arrays
Arbeitsbeispiel
lassen arr = [1,2,3,4,5]; arr.reduce( (Akkumulator, aktueller Wert, Momentan, Feld) => { console.log(`Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): ${Akkumulator}`); console.log(`current (Schleifen durch das Array, ab arr[0]): ${aktueller Wert}`); console.log(`Momentan: ${Momentan}`); console.log(`Array: ${Feld}`); console.log('---'); Rücklaufspeicher + aktueller Wert; }, 0 );
Ausgabe
Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): 0 aktueller Wert (Schleifen durch das Array, ab arr[0]): 1 Momentan: 0 Feld: 1,2,3,4,5 --- Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): 1 aktueller Wert (Schleifen durch das Array, ab arr[0]): 2 Momentan: 1 Feld: 1,2,3,4,5 --- Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): 3 aktueller Wert (Schleifen durch das Array, ab arr[0]): 3 Momentan: 2 Feld: 1,2,3,4,5 --- Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): 6 aktueller Wert (Schleifen durch das Array, ab arr[0]): 4 Momentan: 3 Feld: 1,2,3,4,5 --- Akkumulator ( Auf der ersten Schleife, dies ist der Anfangswert, dann der zurückgegebene Wert der vorherigen Schleife): 10 aktueller Wert (Schleifen durch das Array, ab arr[0]): 5 Momentan: 4 Feld: 1,2,3,4,5 ---
