मान लीजिए, हमें एक फ़ंक्शन लिखना है जो एक सरणी लेता है और एक और सरणी देता है जिसमें लगातार समान संख्याएं एक साथ जोड़ दी जाती हैं।
उदाहरण के लिए -
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 ]