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
- akümülatör – birlikte, ilk döngü veya başlangıç değeri üzerinde dizinin ilk elemanı. Önceki döngü sonra geri değeri.
- 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].
- currentIndex – Geçerli elemanın indeksi.
- 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 ---
