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

จัดเรียงอาร์เรย์ตามการมีอยู่ของฟิลด์ในวัตถุ JavaScript


สมมติว่าเรามีอาร์เรย์ของวัตถุดังต่อไปนี้ −

const people =[{ firstName:'Ram', id:301}, { firstName:'Shyam', นามสกุล:'Singh', id:1016} { firstName:'Dinesh', นามสกุล:'Lamba', id:231}, {id:341}, { firstName:'Karan', นามสกุล:'Malhotra', id:441}, { id:8881}, { firstName:'Vivek', id:301}]; 

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

ดังนั้นโค้ดสำหรับสิ่งนี้จะเป็น −

ตัวอย่าง

const people =[{ firstName:'Ram', id:301}, { firstName:'Shyam', นามสกุล:'Singh', id:1016} { firstName:'Dinesh', นามสกุล:'Lamba', id:231}, {id:341}, { firstName:'Karan', นามสกุล:'Malhotra', id:441}, { id:8881}, { firstName:'Vivek', id:301}]; const sorter =(a, b) => { if (a.firstName &&a.lastName){ return -1; } else if (b.firstName || b.lastName){ ส่งคืน 1; }อื่น{ กลับ -1; };};people.sort(sorter);console.log(people);

ผลลัพธ์

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

[ { firstName:'Karan', นามสกุล:'Malhotra', id:441 }, { firstName:'Dinesh', นามสกุล:'Lamba', id:231 }, { firstName:'Shyam', นามสกุล:' Singh', id:1016 }, { firstName:'Ram', id:301 }, { firstName:'Vivek', id:301 }, { id:8881 }, { id:341 }]