以下是一个示例代码,展示了如何按照对象值的数组位置对数组进行排序:
const arr = [
{ name: 'John', age: 25 },
{ name: 'Amy', age: 30 },
{ name: 'Sam', age: 20 }
];
arr.sort((a, b) => {
if (a.age < b.age) {
return -1; // a应该被排在b之前
}
if (a.age > b.age) {
return 1; // a应该被排在b之后
}
return 0; // a和b的年龄相等,保持原来的顺序
});
console.log(arr);
输出结果为:
[
{ name: 'Sam', age: 20 },
{ name: 'John', age: 25 },
{ name: 'Amy', age: 30 }
]
在上述示例中,我们使用Array.prototype.sort()
方法对数组arr
进行排序。在排序函数中,我们比较了每个对象的age
属性。如果a
的年龄小于b
,我们返回-1,表示a
应该排在b
之前;如果a
的年龄大于b
,我们返回1,表示a
应该排在b
之后;如果两个对象的年龄相等,我们返回0,保持原来的顺序。这样,就可以按照对象值的数组位置对数组进行排序。