जाभास्क्रिप्ट Arrays : समारोह कम समझ
विन्यास
arr.reduce(callbackFunction, [initialValue])
के कम गर्छ?
कम एरे मार्फत loops एक समारोह छ.
अपरेसन एक कलब्याक समारोह मार्फत सरणी मा गर्न सकिन्छ.
सरणी मा सञ्चालन अन्तमा, लाभ एकल मूल्य कम
प्रयोग गर्न सकिन्छ कम, उदाहरणका लागि, सपिङ्ग गाडी कुल गर्न
उदाहरणका
गरौं Arr = [1,2,3,4,5];
arr.reduce( (accumulator, वर्तमान मूल्य, currentIndex, एरे) => {
//केही संचालन;
केहि फिर्ता;
});
को कलब्याक प्रकार्य
को कलब्याक कार्य एरे प्रत्येक तत्व लागि बोलाइएको छ छ, मा पारित 4 मा कम समारोह द्वारा पारित गर्दै छन् जो तर्क.
यी 4 तर्क त हाम्रो कलब्याक समारोह मा प्रयोग गर्न सकिन्छ.
चार तर्क लिन्छ
- accumulator – आपूर्ति भने पहिलो लुप वा प्रारम्भिक मूल्य मा श्रेणीको पहिलो तत्व. अघिल्लो पाश को त मान.
- वर्तमान मूल्य – एर्रेमा हालको तत्व. सरणी अर्थात् दोस्रो तत्व बाट सुरु. Arr[1], जब प्रारम्भिक मूल्य तर्क पारित छैन. प्रारम्भिक मूल्य तर्क पारित गरिएको छ भने त्यसपछि वर्तमान मान एरे Arr मा 1st तत्व बाट सुरु[0].
- currentIndex – हालको तत्व को सूचकांक.
- एरे – सारा एरे.
काम उदाहरण
गरौं Arr = [1,2,3,4,5]; arr.reduce( (accumulator, वर्तमान मूल्य, currentIndex, एरे) => { console.log(`accumulator (1st पाश मा, accumulator Arr छ[0], त्यसपछि यो अघिल्लो पाश को मान छ): ${accumulator}`); console.log(`currentValue (सरणी मार्फत loops, Arr सुरु[1]): ${वर्तमान मूल्य}`); console.log(`currentIndex: ${currentIndex}`); console.log(`एरे: ${एरे}`); console.log('---'); फिर्ती accumulator + वर्तमान मूल्य; } );
उत्पादन
accumulator (1st पाश मा, accumulator Arr छ[0], त्यसपछि यो अघिल्लो पाश को मान छ): 1 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[1]): 2 currentIndex: 1 एरे: 1,2,3,4,5 --- accumulator (1st पाश मा, accumulator Arr छ[0], त्यसपछि यो अघिल्लो पाश को मान छ): 3 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[1]): 3 currentIndex: 2 एरे: 1,2,3,4,5 --- accumulator (1st पाश मा, accumulator Arr छ[0], त्यसपछि यो अघिल्लो पाश को मान छ): 6 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[1]): 4 currentIndex: 3 एरे: 1,2,3,4,5 --- accumulator (1st पाश मा, accumulator Arr छ[0], त्यसपछि यो अघिल्लो पाश को मान छ): 10 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[1]): 5 currentIndex: 4 एरे: 1,2,3,4,5 ---
प्रारम्भिक मूल्य प्रदान
दोस्रो प्यारामिटर निर्दिष्ट (initialValue) को कम समारोह मा गर्नाले initialValue पहिलो पाश मा accumulator तर्क रूपमा पारित गर्न.
यस 1st पाश मा हालको मूल्य अब श्रेणीको पहिलो तत्व मा सुरु नोट
काम उदाहरण
गरौं Arr = [1,2,3,4,5]; arr.reduce( (accumulator, वर्तमान मूल्य, currentIndex, एरे) => { console.log(`accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): ${accumulator}`); console.log(`currentValue (सरणी मार्फत loops, Arr सुरु[0]): ${वर्तमान मूल्य}`); console.log(`currentIndex: ${currentIndex}`); console.log(`एरे: ${एरे}`); console.log('---'); फिर्ती accumulator + वर्तमान मूल्य; }, 0 );
उत्पादन
accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): 0 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[0]): 1 currentIndex: 0 एरे: 1,2,3,4,5 --- accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): 1 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[0]): 2 currentIndex: 1 एरे: 1,2,3,4,5 --- accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): 3 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[0]): 3 currentIndex: 2 एरे: 1,2,3,4,5 --- accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): 6 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[0]): 4 currentIndex: 3 एरे: 1,2,3,4,5 --- accumulator ( यस 1st पाश मा, यो प्रारम्भिक मूल्य छ, अघिल्लो पाश को त मान): 10 वर्तमान मूल्य (सरणी मार्फत loops, Arr सुरु[0]): 5 currentIndex: 4 एरे: 1,2,3,4,5 ---
