JavaScript Զանգվածները : Հասկանալով, որ կրճատել գործառույթը
Շարահյուսություն
arr.reduce(callbackFunction, [initialValue])
Ինչ է կրճատել անել?
Կրճատել մի գործառույթ, որը loops միջոցով զանգված.
Գործողությունները կարող են իրականացվել է զանգված միջոցով Հետկանչի գործառույթը.
Վերջում է գործողությունների վրա զանգված, նվազեցնել Վերադարձնում է մեկ արժեք
Կրճատել կարող է օգտագործվել, օրինակ, ընդամենի զամբյուղը
Օրինակ
թող հայերեն (Armenian) = [1,2,3,4,5];
arr.reduce( (կոլեկտոր, currentValue, currentIndex, զարդ) => {
//որոշ գործառնություններ;
վերադառնալ մի բան;
});
Հետզանգը գործառույթը
Որ ետկանչի գործառույթ վկայակոչվել է յուրաքանչյուր տարրի զանգված, անցնում է 4 փաստարկները, որոնք անցել է ըստ նվազեցնելու գործառույթը.
Սրանք 4 փաստարկները, ապա կարող է օգտագործվել մեր Հետկանչի գործառույթը.
Տեւում է չորս փաստարկները
- կոլեկտոր – Առաջին տարրը զանգվածի առաջին հանգույց կամ սկզբնական արժեքով, եթե մատակարարված. Այնուհետեւ վերադարձել արժեքը նախորդ հանգույց.
- currentValue – Ներկայիս տարր է զանգված. Սկսվում է երկրորդ տարրի array IE. հայերեն (Armenian)[1], երբ նախնական արժեքը փաստարկը չի անցել. Եթե նախնական արժեքը փաստարկը անցել, ապա ընթացիկ արժեքը սկսվում է 1-ին տարր է array ARR[0].
- currentIndex – Այդ ցուցանիշը ընթացիկ տարրի.
- զարդ – Ամբողջ զանգվածը.
աշխատանքային օրինակ
թող հայերեն (Armenian) = [1,2,3,4,5]; arr.reduce( (կոլեկտոր, currentValue, currentIndex, զարդ) => { console.log(`կոլեկտոր (1-ին հանգույց, կոլեկտոր է հայերեն (Armenian)[0], ապա դա վերադարձվում արժեքը նախորդ հանգույց): ${կոլեկտոր}`); console.log(`currentValue (Loops միջոցով զանգված, սկսած ARR[1]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`զանգված: ${զարդ}`); console.log('---'); վերադարձը կոլեկտոր + currentValue; } );
արտադրանք
կոլեկտոր (1-ին հանգույց, կոլեկտոր է հայերեն (Armenian)[0], ապա դա վերադարձվում արժեքը նախորդ հանգույց): 1 currentValue (Loops միջոցով զանգված, սկսած ARR[1]): 2 currentIndex: 1 զարդ: 1,2,3,4,5 --- կոլեկտոր (1-ին հանգույց, կոլեկտոր է հայերեն (Armenian)[0], ապա դա վերադարձվում արժեքը նախորդ հանգույց): 3 currentValue (Loops միջոցով զանգված, սկսած ARR[1]): 3 currentIndex: 2 զարդ: 1,2,3,4,5 --- կոլեկտոր (1-ին հանգույց, կոլեկտոր է հայերեն (Armenian)[0], ապա դա վերադարձվում արժեքը նախորդ հանգույց): 6 currentValue (Loops միջոցով զանգված, սկսած ARR[1]): 4 currentIndex: 3 զարդ: 1,2,3,4,5 --- կոլեկտոր (1-ին հանգույց, կոլեկտոր է հայերեն (Armenian)[0], ապա դա վերադարձվում արժեքը նախորդ հանգույց): 10 currentValue (Loops միջոցով զանգված, սկսած ARR[1]): 5 currentIndex: 4 զարդ: 1,2,3,4,5 ---
Ապահովելով նախնական արժեքը
Հստակեցնելով երկրորդ պարամետրը (initialValue) ի նվազեցնելու գործառույթը կառաջացնի initialValue է անցել, քանի որ մարտկոցների փաստարկ առաջին հանգույց.
Նկատի ունեցեք, որ ներկայիս արժեքը 1-ին հանգույց այժմ սկսվում է առաջին տարրի զանգված
աշխատանքային օրինակ
թող հայերեն (Armenian) = [1,2,3,4,5]; arr.reduce( (կոլեկտոր, currentValue, currentIndex, զարդ) => { console.log(`կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): ${կոլեկտոր}`); console.log(`currentValue (Loops միջոցով զանգված, սկսած ARR[0]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`զանգված: ${զարդ}`); console.log('---'); վերադարձը կոլեկտոր + currentValue; }, 0 );
արտադրանք
կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): 0 currentValue (Loops միջոցով զանգված, սկսած ARR[0]): 1 currentIndex: 0 զարդ: 1,2,3,4,5 --- կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): 1 currentValue (Loops միջոցով զանգված, սկսած ARR[0]): 2 currentIndex: 1 զարդ: 1,2,3,4,5 --- կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): 3 currentValue (Loops միջոցով զանգված, սկսած ARR[0]): 3 currentIndex: 2 զարդ: 1,2,3,4,5 --- կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): 6 currentValue (Loops միջոցով զանգված, սկսած ARR[0]): 4 currentIndex: 3 զարդ: 1,2,3,4,5 --- կոլեկտոր ( 1-ին հանգույց, Սա նախնական արժեքը, ապա վերադարձել արժեքը նախորդ հանգույց): 10 currentValue (Loops միջոցով զանգված, սկսած ARR[0]): 5 currentIndex: 4 զարդ: 1,2,3,4,5 ---
