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

รวมออบเจ็กต์ JavaScript ที่มีค่าคีย์เดียวกันและนับรวม


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

const arr =[{ "value":10, "id":"111", "name":"BlackCat",}, { "value":10, "id":"111", "name" :"BlackCat",}, { "value":15, "id":"777", "name":"WhiteCat",}];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว

ฟังก์ชันควรรวมออบเจ็กต์ทั้งหมดเข้าด้วยกันซึ่งมีค่าร่วมกันสำหรับคุณสมบัติ "id"

ดังนั้น สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรมีลักษณะดังนี้ −

const output =[{ "value":10, "id":"111", "name":"BlackCat", "count":2,}, { "value":15, "id":" 777", "name":"WhiteCat", "count":1,}]

ตัวอย่าง

const arr =[{ "value":10, "id":"111", "name":"BlackCat",}, { "value":10, "id":"111", "name" :"BlackCat",}, { "value":15, "id":"777", "name":"WhiteCat",}];const รวมItems =(arr =[]) => { const res =arr. ลด ((acc, obj) => { ให้พบ =เท็จ; สำหรับ (ให้ i =0; i  

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[ { value:10, id:'111', name:'BlackCat', count:2 }, { value:15, id:'777', name:'WhiteCat', count:1 }]