মান লেন, আমাদের কাছে একটি সংখ্যা অ্যারে অফ অ্যারে আছে −
const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]];
প্রতিটি সাব-অ্যারে স্ট্রিক্টলি দুটি উপাদান ধারণ করবে। আমাদের একটি ফাংশন লিখতে হবে যা একটি নতুন অ্যারে নির্মাণ করবে যেখানে একই প্রথম মান যেসব সাব-অ্যারেতে আছে, তাদের দ্বিতীয় উপাদানগুলো একসাথে গ্রুপ করা থাকবে।
সুতরাং, উপরের অ্যারেতে আউটপুট হবে −
const output = [ [45, 34, 49], [34, 67], [78, 65] ];
আমরা Array.prototype.reduce() মেথড ব্যবহার করতে পারি যা একটি Map() এর সাহায্যে কাঙ্ক্ষিত অ্যারে তৈরি করবে।
তাহলে, এই ফাংশনটির কোড লিখি −
উদাহরণ
কোডটি হবে −
const arr = [[1, 45], [1, 34], [1, 49], [2, 34], [4, 78], [2, 67], [4, 65]]; const constructSimilarArray = (arr = []) => { const creds = arr.reduce((acc, val) => { const { map, res } = acc; if(!map.has(val[0])){ map.set(val[0], res.push([val[1]]) - 1); }else{ res[map.get(val[0])].push(val[1]); }; return { map, res }; }, { map: new Map(), res: [] }); return creds.res; }; console.log(constructSimilarArray(arr));আউটপুট
কনসোলে আউটপুট হবে −
[ [ 45, 34, 49 ], [ 34, 67 ], [ 78, 65 ] ]