Computer >> Máy Tính >  >> Lập trình >> Javascript

Sắp xếp mảng dựa trên sự hiện diện của các trường trong đối tượng JavaScript

Giả sử chúng ta có mảng đối tượng sau -

 const people =[{firstName:'Ram', id:301}, {firstName:'Shyam', lastName:'Singh', id:1016}, {firstName:'Dinesh', lastName:'Lamba', id:231}, {id:341}, {firstName:'Karan', lastName:'Malhotra', id:441}, {id:8881}, {firstName:'Vivek', id:301}];  

Chúng tôi bắt buộc phải sắp xếp mảng này sao cho đối tượng có cả thuộc tính firstName và lastName xuất hiện đầu tiên sau đó đến các đối tượng có firstName hoặc lastName và cuối cùng là các đối tượng có cả khôngfirstName và lastName.

Vì vậy, mã cho điều này sẽ là -

Ví dụ

 const people =[{firstName:'Ram', id:301}, {firstName:'Shyam', lastName:'Singh', id:1016}, {firstName:'Dinesh', lastName:'Lamba', id:231}, {id:341}, {firstName:'Karan', lastName:'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) {return 1; } else {return -1; };}; people.sort (sắp xếp); console.log (mọi người); 

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

 [{firstName:'Karan', lastName:'Malhotra', id:441}, {firstName:'Dinesh', lastName:'Lamba', id:231}, {firstName:'Shyam', lastName:' Singh ', id:1016}, {firstName:' Ram ', id:301}, {firstName:' Vivek ', id:301}, {id:8881}, {id:341}]