ধরা যাক, আমাদের কাছে দুটি অ্যারে অবজেক্ট রয়েছে যা একটি কোম্পানির কিছু পণ্য সম্পর্কে তথ্য ধারণ করে -
, "57e77b06e0566d496b51fed5":{আইডি:"57e77b06e0566d496b51fed5", পরিমাণ:3}, {আইডি:"57e7a1cd6a3f3669dc03db58", পরিমাণ:3}, {আইডি const প্রথম =[{:"57e7a1cd6a3f3669dc03db58", পরিমাণ 3 আইডি}const first = [ { id: "57e7a1cd6a3f3669dc03db58", quantity:3 }, { id: "57e77b06e0566d496b51fed5", quantity:3 }, { id: "57e7a1cd6a3f3669dc03db58", quantity:3 }, { id: "57e77b06e0566d496b51fed5", quantity:3 } ]; const second = [ { id: "57e7a1cd6a3f3669dc03db58", quantity:6 }, { id: "57e77b06e0566d496b51fed5", quantity:6 } ];
আমাদের এখন একটি ফাংশন লিখতে হবে যা দুটি অ্যারেকে একত্রিত করে, যেমন একই আইডি সহ বস্তুগুলি পুনরাবৃত্তিমূলক উপস্থিতি না দেখায় এবং অধিকন্তু, অবজেক্টসদৃষ্টি আইডির পরিমাণের বৈশিষ্ট্য একসাথে যোগ করা হয়৷
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
উদাহরণ
, "57e77b06e0566d496b51fed5":{আইডি:"57e77b06e0566d496b51fed5", পরিমাণ:3}, {আইডি:"57e7a1cd6a3f3669dc03db58", পরিমাণ:3}, {আইডি const প্রথম =[{:"57e7a1cd6a3f3669dc03db58", পরিমাণ 3 আইডি}const first = [ { id: "57e7a1cd6a3f3669dc03db58", quantity:3 }, { id: "57e77b06e0566d496b51fed5", quantity:3 }, { id: "57e7a1cd6a3f3669dc03db58", quantity:3 }, { id: "57e77b06e0566d496b51fed5", quantity:3 } ]; const second = [ { id: "57e7a1cd6a3f3669dc03db58", quantity:6 }, { id: "57e77b06e0566d496b51fed5", quantity:6 } ]; const mergeArray = (first, second) => { return [...first, ...second].reduce((acc, val, i, arr) => { const { id, quantity } = val; const ind = acc.findIndex(el => el.id === id); if(ind !== -1){ acc[ind].quantity += quantity; }else{ acc.push({ id, quantity }); } return acc; }, []); } console.log(mergeArray(first, second));
আউটপুট
কনসোলে আউটপুট হবে −
[ { id: '57e7a1cd6a3f3669dc03db58', quantity: 12 }, { id: '57e77b06e0566d496b51fed5', quantity: 12 } ]