मान लीजिए, हमें एक फ़ंक्शन लिखना है जो एक एरे लेता है और दूसरा एरे लौटाता है जिसमें लगातार समान संख्याओं को एक साथ जोड़ दिया जाता है।
उदाहरण के लिए -
const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];
आउटपुट होना चाहिए -
[1, 15, 16, 9, 1, 8, 2]
सभी लगातार 5s का योग 15 हो गया, फिर 2 लगातार 8s का योग 16 हो गया इसी तरह 4s का योग 8 हो गया।
इसलिए, आइए इस फ़ंक्शन के लिए कोड लिखते हैं। हम यहां Array.prototype.reduce() मेथड का उपयोग करेंगे ताकि मूल एरे को रिड्यूस करें और साथ ही एक नया निर्माण करें।
उदाहरण
const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2]; const sumConsecutive = (array) => { return array.reduce((acc, val) => { if (acc.last === val) { acc.arr[acc.arr.length - 1] += val; } else { acc.arr.push(val); acc.last = val; } return acc; }, { arr: [], last: undefined }).arr; }; console.log(sumConsecutive(array));आउटपुट
कंसोल में आउटपुट होगा -
[ 1, 15, 16, 9, 1, 8, 2 ]