JavaScript Diziler : funksiyası azaltmaq Anlaşma
sintaksis
arr.reduce(callbackFunction, [initialValue])
Nə azaltmaq edir?
Azaltmaq bir sıra vasitəsilə loops bir funksiyası var.
Əməliyyatlar bir callback funksiyası vasitəsilə sıra həyata keçirilə bilər.
sıra əməliyyatların sonunda, qaytarır tək dəyər azaltmaq
istifadə edilə bilər azaldır, misal üçün, Bir alış-veriş araba cəmi
misal
Varış = imkan [1,2,3,4,5];
arr.reduce( (akkumulyator, currentValue, currentIndex, array) => {
//bəzi əməliyyatları;
bir şey qayıtmaq;
});
Callback Function
callback funksiyası serialın hər element üçün istinad edilir, keçən 4 azaltmaq funksiyası ilə qəbul edilir dəlilləri.
Bu 4 dəlilləri sonra zəng funksiyası istifadə edilə bilər.
dörd dəlilləri edir
- akkumulyator – təchiz ilk loop və ya ilkin dəyər serialın ilk element. əvvəlki loop Sonra döndü dəyəri.
- currentValue – sıra cari element. array yəni ikinci element başlayır. Varış[1], ilkin dəyəri arqument qəbul deyil zaman. ilkin dəyəri arqument qəbul, onda cari dəyəri array Varış 1-ci element başlayır[0].
- currentIndex – cari element index.
- array – bütün array.
İş Nümunə
Varış = imkan [1,2,3,4,5]; arr.reduce( (akkumulyator, currentValue, currentIndex, array) => { console.log(`akkumulyator (1-ci loop On, akkumulyator Varış deyil[0], o, əvvəlki loop geri dəyəri): ${akkumulyator}`); console.log(`currentValue (array vasitəsilə Loops, Varış başlayan[1]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`array: ${array}`); console.log('---'); geri akkumulyator + currentValue; } );
buraxılış
akkumulyator (1-ci loop On, akkumulyator Varış deyil[0], o, əvvəlki loop geri dəyəri): 1 currentValue (array vasitəsilə Loops, Varış başlayan[1]): 2 currentIndex: 1 array: 1,2,3,4,5 --- akkumulyator (1-ci loop On, akkumulyator Varış deyil[0], o, əvvəlki loop geri dəyəri): 3 currentValue (array vasitəsilə Loops, Varış başlayan[1]): 3 currentIndex: 2 array: 1,2,3,4,5 --- akkumulyator (1-ci loop On, akkumulyator Varış deyil[0], o, əvvəlki loop geri dəyəri): 6 currentValue (array vasitəsilə Loops, Varış başlayan[1]): 4 currentIndex: 3 array: 1,2,3,4,5 --- akkumulyator (1-ci loop On, akkumulyator Varış deyil[0], o, əvvəlki loop geri dəyəri): 10 currentValue (array vasitəsilə Loops, Varış başlayan[1]): 5 currentIndex: 4 array: 1,2,3,4,5 ---
ilkin dəyər təmin
İkinci parametr ifadə (initialValue) azaltmaq funksiyası initialValue ilk loop akkumulyator arqument kimi qəbul səbəb olacaq.
1-ci loop cari dəyər indi serialın ilk element başlayır Qeyd edək ki,
İş Nümunə
Varış = imkan [1,2,3,4,5]; arr.reduce( (akkumulyator, currentValue, currentIndex, array) => { console.log(`akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): ${akkumulyator}`); console.log(`currentValue (array vasitəsilə Loops, Varış başlayan[0]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`array: ${array}`); console.log('---'); geri akkumulyator + currentValue; }, 0 );
buraxılış
akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): 0 currentValue (array vasitəsilə Loops, Varış başlayan[0]): 1 currentIndex: 0 array: 1,2,3,4,5 --- akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): 1 currentValue (array vasitəsilə Loops, Varış başlayan[0]): 2 currentIndex: 1 array: 1,2,3,4,5 --- akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): 3 currentValue (array vasitəsilə Loops, Varış başlayan[0]): 3 currentIndex: 2 array: 1,2,3,4,5 --- akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): 6 currentValue (array vasitəsilə Loops, Varış başlayan[0]): 4 currentIndex: 3 array: 1,2,3,4,5 --- akkumulyator ( 1-ci loop On, Bu ilkin dəyəri, əvvəlki loop sonra döndü dəyəri): 10 currentValue (array vasitəsilə Loops, Varış başlayan[0]): 5 currentIndex: 4 array: 1,2,3,4,5 ---
