मान लीजिए, हमारे पास ऐरे के ऐरे हैं जैसे कि -
const arr = [[12345, "product", "10"],[12345, "product", "15"],[1234567, "other", "10"]];
हमें एक फ़ंक्शन लिखना है जो ऐसा ऐरे लेता है। ध्यान दें कि सभी सबऐरे में ठीक तीन एलिमेंट्स हैं।
हमारे फ़ंक्शन को उस सबऐरे को फ़िल्टर आउट करना चाहिए जिसका पहला एलिमेंट रिपीटिंग वैल्यू के रूप में है। इसके अलावा, जिस सबऐरे को हम हटाते हैं, उसके तीसरे एलिमेंट को उसके मौजूदा नॉन-रिपीटिंग समकक्ष में जोड़ना चाहिए।
तो, उपरोक्त ऐरे के लिए, आउटपुट इस तरह दिखना चाहिए -
const output = [[12345, "product", "25"],[1234567, "other", "10"]];
उदाहरण
इसका कोड होगा -
const arr = [[12345, "product", "10"],[12345, "product", "15"],[1234567, "other", "10"]]; const addSimilar = (arr = []) => { const res = []; const map = {}; arr.forEach(el => { const [id, name, amount] = el; if(map.hasOwnProperty(id)){ const newAmount = +amount + +res[map[id] - 1][2]; res[map[id] - 1][2] = '' + newAmount; }else{ map[id] = res.push(el); } }); return res; } console.log(addSimilar(arr));आउटपुट
कंसोल में आउटपुट होगा -
[ [ 12345, 'product', '25' ], [ 1234567, 'other', '10' ] ]