JavaScript Diziler : fonksiyonunu azaltmak anlama

Sözdizimi

arr.reduce(callbackFunction, [initialValue])

Ne ölçüde azalttığı?

Azaltır bir dizi döngüler bir fonksiyondur.

İşlemler Bir geri arama işlevi ile dizi yapılabilir.

dizisinde işlemlerin sonunda, sonuçların, bir kere değerini düşürmek

kullanılabilir azaltın, Örneğin, Bir alışveriş sepeti toplam

Örnek

  dizi = let [1,2,3,4,5];
  arr.reduce( (akümülatör, Mevcut değer, currentIndex, dizi) => { 
      //bazı işlemler;
      birşeyler geri;
  });

 

Geri arama fonksiyonu

Geri arama işlevi dizideki her bir eleman için çağrılır, geçen 4 azaltmak fonksiyonu ile geçirilir argümanlar.

Bunlar 4 argümanlar sonra bizim geri arama işlevi kullanılabilir.

Dört argümanlar Alır

  1. akümülatör – birlikte, ilk döngü veya başlangıç ​​değeri üzerinde dizinin ilk elemanı. Önceki döngü sonra geri değeri.
  2. Mevcut değer – Dizideki mevcut elemanının. Dizi yani ikinci elemandan başlatır. arr[1], Başlangıç ​​değeri değişken geçti değilken. Başlangıç ​​değeri bağımsız değişken geçirilir sonra mevcut değer dizisi arr 1 elemanından başlar[0].
  3. currentIndex – Geçerli elemanın indeksi.
  4. dizi – bütün dizi.

Çalışma Örneği

dizi = let [1,2,3,4,5];

arr.reduce(
  (akümülatör, Mevcut değer, currentIndex, dizi) => {
    console.log(`akümülatör (1 döngü üzerinde, akümülatör arr olduğunu[0], daha sonra, önceki döngünün geri değerdir): ${akümülatör}');
    console.log(`CurrentValue (dizi aracılığıyla Döngüler, arr başlayan[1]): ${Mevcut değer}');
    console.log(`currentIndex: ${currentIndex}');
    console.log(`dizi: ${dizi}');
    console.log('---');
    dönüş akümülatör + Mevcut değer;
  }
);

Çıktı

akümülatör (1 döngü üzerinde, akümülatör arr olduğunu[0], daha sonra, önceki döngünün geri değerdir): 1
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[1]): 2
currentIndex: 1
dizi: 1,2,3,4,5
---
akümülatör (1 döngü üzerinde, akümülatör arr olduğunu[0], daha sonra, önceki döngünün geri değerdir): 3
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[1]): 3
currentIndex: 2
dizi: 1,2,3,4,5
---
akümülatör (1 döngü üzerinde, akümülatör arr olduğunu[0], daha sonra, önceki döngünün geri değerdir): 6
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[1]): 4
currentIndex: 3
dizi: 1,2,3,4,5
---
akümülatör (1 döngü üzerinde, akümülatör arr olduğunu[0], daha sonra, önceki döngünün geri değerdir): 10
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[1]): 5
currentIndex: 4
dizi: 1,2,3,4,5
---

 

başlangıç ​​değeri sağlamak

ikinci parametre belirtme (başlangıç ​​değeri) azaltmak işlevinde Başlangıçdeğer birinci döngü akümülatör bağımsız değişken olarak geçirilen neden olur.

1 döngü akımı değeri artık dizinin ilk elemanın başlar unutmayın

Çalışma Örneği

  dizi = let [1,2,3,4,5];

  arr.reduce(
  (akümülatör, Mevcut değer, currentIndex, dizi) => {
    console.log(`akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): ${akümülatör}');
    console.log(`CurrentValue (dizi aracılığıyla Döngüler, arr başlayan[0]): ${Mevcut değer}');
    console.log(`currentIndex: ${currentIndex}');
    console.log(`dizi: ${dizi}');
    console.log('---');
    dönüş akümülatör + Mevcut değer;
  }, 0
);

Çıktı

akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): 0
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[0]): 1
currentIndex: 0
dizi: 1,2,3,4,5
---
akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): 1
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[0]): 2
currentIndex: 1
dizi: 1,2,3,4,5
---
akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): 3
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[0]): 3
currentIndex: 2
dizi: 1,2,3,4,5
---
akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): 6
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[0]): 4
currentIndex: 3
dizi: 1,2,3,4,5
---
akümülatör ( 1 döngü üzerinde, Bu başlangıç ​​değeridir, Önceki döngü sonra geri değeri): 10
Mevcut değer (dizi aracılığıyla Döngüler, arr başlayan[0]): 5
currentIndex: 4
dizi: 1,2,3,4,5
---