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

จัดกลุ่มค่าในคุณสมบัติเดียวกัน - JavaScript


สมมติว่าเรามีอาร์เรย์แบบนี้ -

const arr =[ {หน่วย:35, ยี่ห้อ:'CENTURY'}, {หน่วย:35, ยี่ห้อ:'BADGER'}, {หน่วย:25, ยี่ห้อ:'CENTURY'}, {หน่วย:15, ยี่ห้อ:'CENTURY'} {หน่วย:25 ยี่ห้อ:'XEGAR'}];

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

เช่นเดียวกับอาร์เรย์ด้านบน อาร์เรย์ใหม่ควรเป็น −

const output =[ {หน่วย:35, ยี่ห้อ:'CENTURY, BADGER'}, {หน่วย:25, ยี่ห้อ:'CENTURY, XEGAR'}, {หน่วย:15, ยี่ห้อ:'CENTURY'}]; 

เราจะวนรอบอาร์เรย์ ค้นหาวัตถุที่มีค่าหน่วยโดยใช้ฟังก์ชันตัวช่วย หากมี เราจะเชื่อมโยงมูลค่าของตราสินค้า มิฉะนั้น เราจะสร้างวัตถุใหม่

ตัวอย่าง

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

const arr =[ {หน่วย:35, ยี่ห้อ:'CENTURY'}, {หน่วย:35, ยี่ห้อ:'BADGER'}, {หน่วย:25, ยี่ห้อ:'CENTURY'}, {หน่วย:15, ยี่ห้อ:'CENTURY'}, {หน่วย:25, ยี่ห้อ:'XEGAR'}];const indexOf =ฟังก์ชั่น (หน่วย){ return this.findIndex(el => el.unit ===unit)};Array.prototype.indexOf =indexOf;const groupArray =arr => { const res =[]; สำหรับ (ให้ i =0; i  

ผลลัพธ์

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

[ { หน่วย:35 ยี่ห้อ:'CENTURY, BADGER' } { หน่วย:25 ยี่ห้อ:'CENTURY, XEGAR' } { หน่วย:15 ยี่ห้อ:'CENTURY' }]