Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

객체 JavaScript의 필드 존재 여부에 따라 배열 정렬

<시간/>

다음과 같은 객체 배열이 있다고 가정해 보겠습니다. -

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}]; 

firstName과 lastName 속성이 모두 있는 개체가 먼저 나타나고 firstName 또는 lastName이 있는 개체가 나타나고 마지막으로 firstName이나 lastName이 없는 개체가 나타나도록 이 배열을 정렬해야 합니다.

따라서 이에 대한 코드는 -

가 됩니다.

예시

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 분류기 =(a, b) => { if(a.firstName &&a.lastName){ return -1; }else if(b.firstName || b.lastName){ return 1; }else{ 반환 -1; };}; people.sort(정렬기);console.log(사람);

출력

콘솔의 출력은 -

[ { 성:'카란', 성:'말호트라', id:441 }, { 성:'디네쉬', 성:'람바', id:231 }, { 성:'샤암', 성:' 싱', id:1016 }, { firstName:'Ram', id:301 }, { firstName:'Vivek', id:301 }, { id:8881 }, { id:341 }]