สมมติว่าเรามี JSON Array ที่มีข้อมูลเกี่ยวกับตั๋วบางอย่างเช่นนี้ −
const arr = [ { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "Regular Ticket to Event" }, { "quantity": "1", "description": "Regular Ticket to Event" }, ];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว ฟังก์ชันควรจัดกลุ่มอ็อบเจ็กต์ที่คล้ายคลึงกันและสรุปคุณสมบัติเชิงปริมาณ
วัตถุสองชิ้นจะได้รับการพิจารณาหากมีค่าเหมือนกันสำหรับคุณสมบัติ "คำอธิบาย"
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = [ { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "VIP Ticket to Event" }, { "quantity": "1", "description": "Regular Ticket to Event" }, { "quantity": "1", "description": "Regular Ticket to Event" }, ]; const groupAndAdd = arr => { const res = []; arr.forEach(el => { if (!this[el.description]) { this[el.description] = { description: el.description, quantity: 0 }; res.push(this[el.description]); }; this[el.description].quantity += +el.quantity; }, {}); return res; } console.log(groupAndAdd(arr));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
[ { description: 'VIP Ticket to Event', quantity: 3 }, { description: 'Regular Ticket to Event', quantity: 2 } ]