मान लीजिए, हमारे पास इस तरह की सरणियों की एक सरणी है -
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' ] ]