पाठ 15 / 38
Iteration: map, filter, reduce, forEach
फंक्शनल मेथड्स जो ज़्यादातर लूप की जगह लेते हैं।
forEach और map
forEach हर आइटम पर कोड चलाता है; map हर आइटम को बदलकर नई array बनाता है।
const nums = [1, 2, 3];
nums.forEach(n => console.log(n * 2));
const doubled = nums.map(n => n * 2);
console.log(doubled); // [2, 4, 6]filter और reduce
filter किसी शर्त को पास करने वाले आइटम रखता है; reduce पूरी array को एक मान में समेट देता है।
const nums = [1, 2, 3, 4, 5];
const evens = nums.filter(n => n % 2 === 0);
const total = nums.reduce((sum, n) => sum + n, 0);
console.log(evens); // [2, 4]
console.log(total); // 15map बनाम forEach
forEach undefined लौटाता है — इसे side effects के लिए उपयोग करें। map नई array लौटाता है — डेटा बदलने के लिए इसे उपयोग करें।
त्वरित जाँच: कौन-सा मेथड मूल array जितनी या उससे छोटी नई array लौटाता है?
- map
- filter
- forEach
Answer
filter — `filter` केवल शर्त पास करने वाले आइटम रखता है, इसलिए नतीजा मूल से लंबा कभी नहीं हो सकता।