মান লিজিয়ে, আমাদের একটি ফাংশন লিখতে হবে যা একটি অ্যারে নিবে এবং একটি অন্য অ্যারে রিটার্ন করবে যেটিতে কনসিকিউটিভ (ক্রমিক) একই নাম্বারগুলো একসাথে যোগ করা থাকবে।
উদাহরণস্বরূপ -
const array = [1, 5, 5, 5, 8, 8, 9, 1, 4, 4, 2];
আউটপুট হবে -
[1, 15, 16, 9, 1, 8, 2]
সব ক্রমিক ৫ গুলো যোগ হয়ে ১৫ হয়েছে, তারপর ২টি ক্রমিক ৮ যোগ হয়ে ১৬ হয়েছে, একইভাবে ৪ গুলো যোগ হয়ে ৮ হয়েছে।
তাহলে এই ফাংশনের কোড লিখি। আমরা 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 ]