我们可以使用Array.sort() 方法对对象数组进行排序。排序时,可以使用hasOwnProperty() 方法检查对象是否具有相应的属性,根据hasOwnProperty() 方法的返回值来排序。
下面是一个示例代码:
const arr = [ { name: 'Alice', age: 25 }, { age: 30 }, { name: 'Bob', age: 20 }, { age: 35 }, { name: 'Charlie' } ];
arr.sort(function(a, b) { const propExistsA = a.hasOwnProperty('name'); const propExistsB = b.hasOwnProperty('name'); if (propExistsA === propExistsB) { return 0; } else if (propExistsA) { return -1; } else { return 1; } });
console.log(arr);
// Output: // [ // { name: 'Alice', age: 25 }, // { name: 'Bob', age: 20 }, // { age: 30 }, // { age: 35 }, // { name: 'Charlie' } // ]
下一篇:按属性首字母将对象数组分组