Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ผลรวมอาร์เรย์ค่าซ้ำ - JavaScript


สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -

const arr =[ {'ID-01':1}, {'ID-02':3}, {'ID-01':3}, {'ID-02':5}]; 

เราจำเป็นต้องเพิ่มค่าสำหรับวัตถุเหล่านี้ทั้งหมดที่มีคีย์เหมือนกัน

ดังนั้น สำหรับอาร์เรย์นี้ ผลลัพธ์ควรเป็น −

const output =[{'ID-01':4}, {'ID-02':8}];

เราจะวนรอบอาร์เรย์ ตรวจหาอ็อบเจ็กต์ที่มีอยู่ด้วยคีย์เดียวกัน หากมี เราจะเพิ่มมูลค่าให้กับอาร์เรย์ มิฉะนั้น เราจะพุชออบเจ็กต์ใหม่ไปยังอาร์เรย์

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr =[ {'ID-01':1}, {'ID-02':3}, {'ID-01':3}, {'ID-02':5}];const indexOf =function(key){ return this.findIndex(el => typeof el[key] ==='number')};Array.prototype.indexOf =indexOf;const groupArray =arr => { const res =[]; สำหรับ (ให้ i =0; i  

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -

[ { 'ID-01':4 }, { 'ID-02':8 } ]