JavaScript arrays : Fahamka yareeyo shaqo
Saan
arr.reduce(callbackFunction, [initialValue])
Maxay yareeyaan samayn?
Iska yaree waa shaqo ah in siddo dhex diyaariyeen ah.
Hawlgalka waxa lagu samayn karaa on safi via shaqo callback a.
Dhamaadka hawlaha ku saabsan isu safi, yareeyo celinta qiimaha hal
Iska yaree waxaa loo isticmaali karaa, tusaale ahaan, in wadar ahaan gaadhigii shopping ah
tusaale
ha Aar oo = [1,2,3,4,5];
arr.reduce( (accumulator, currentValue, currentIndex, soo diyaariyeen) => {
//qaar ka mid ah hawlaha;
soo noqon wax;
});
Function The Callback
function callback waxaa gawraco waayo element kasta soo diyaariyeen ah, marayay in 4 dood kuwaas oo maray in ay shaqada loo yareeyo.
Kuwani 4 dood ka dibna waxaa loo isticmaali karaa in shaqada callback our.
Qaadataa afar dood
- accumulator – element hore ee safi on loop ugu horeysay ama qiimaha bilowga ah haddii bixisey. Markaas qiimaha laabtay of loop hore.
- currentValue – element hadda soo diyaariyeen ah. Bilaabmin ka element labaad ee ie safi. Aar oo[1], markii muran hore qiimo aan la gudbin. Haddii muran hore qiimaha waxa loo maray qiimaha markaas hadda bilaabo ka element 1aad ee Aar oo isu safi[0].
- currentIndex – index ee element hadda.
- soo diyaariyeen – soo diyaariyeen oo dhan.
Working Tusaale
ha Aar oo = [1,2,3,4,5]; arr.reduce( (accumulator, currentValue, currentIndex, soo diyaariyeen) => { console.log(`accumulator (On loop 1aad, accumulator waa Aar oo[0], markaa taasi waa qiimaha laabtay of loop hore): ${accumulator}`); console.log(`currentValue (Siddo dhex safi, laga bilaabo Aar oo[1]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`soo diyaariyeen: ${soo diyaariyeen}`); console.log('---'); accumulator soo laabtay + currentValue; } );
Output
accumulator (On loop 1aad, accumulator waa Aar oo[0], markaa taasi waa qiimaha laabtay of loop hore): 1 currentValue (Siddo dhex safi, laga bilaabo Aar oo[1]): 2 currentIndex: 1 soo diyaariyeen: 1,2,3,4,5 --- accumulator (On loop 1aad, accumulator waa Aar oo[0], markaa taasi waa qiimaha laabtay of loop hore): 3 currentValue (Siddo dhex safi, laga bilaabo Aar oo[1]): 3 currentIndex: 2 soo diyaariyeen: 1,2,3,4,5 --- accumulator (On loop 1aad, accumulator waa Aar oo[0], markaa taasi waa qiimaha laabtay of loop hore): 6 currentValue (Siddo dhex safi, laga bilaabo Aar oo[1]): 4 currentIndex: 3 soo diyaariyeen: 1,2,3,4,5 --- accumulator (On loop 1aad, accumulator waa Aar oo[0], markaa taasi waa qiimaha laabtay of loop hore): 10 currentValue (Siddo dhex safi, laga bilaabo Aar oo[1]): 5 currentIndex: 4 soo diyaariyeen: 1,2,3,4,5 ---
Bixinta qiimaha bilowga ah
Si dhimaya labaad (initialValue) ee shaqada loo yareeyo dhigi doonaa initialValue in la soo maray sida dood accumulator on loop ugu horeysay ee.
Ogsoonow in qiimaha hadda on loop 1aad haatan bilaabayaa element ugu horeysay ee isu safi
Working Tusaale
ha Aar oo = [1,2,3,4,5]; arr.reduce( (accumulator, currentValue, currentIndex, soo diyaariyeen) => { console.log(`accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): ${accumulator}`); console.log(`currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): ${currentValue}`); console.log(`currentIndex: ${currentIndex}`); console.log(`soo diyaariyeen: ${soo diyaariyeen}`); console.log('---'); accumulator soo laabtay + currentValue; }, 0 );
Output
accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): 0 currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): 1 currentIndex: 0 soo diyaariyeen: 1,2,3,4,5 --- accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): 1 currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): 2 currentIndex: 1 soo diyaariyeen: 1,2,3,4,5 --- accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): 3 currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): 3 currentIndex: 2 soo diyaariyeen: 1,2,3,4,5 --- accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): 6 currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): 4 currentIndex: 3 soo diyaariyeen: 1,2,3,4,5 --- accumulator ( On loop 1aad, tani waa qiimaha bilowga ah, ka dibna qiimaha laabtay of loop hore): 10 currentValue (Siddo dhex safi, laga bilaabo Aar oo[0]): 5 currentIndex: 4 soo diyaariyeen: 1,2,3,4,5 ---
