js 数组按照指定列排序
时间: 2023-11-26 18:02:26 浏览: 58
js数组排序
可以使用 JavaScript 的 sort 方法来对数组按照指定列进行排序。
假设我们有一个数组 arr,它包含多个对象,每个对象都有 name 和 age 两个属性:
```javascript
let arr = [
{ name: 'Tom', age: 18 },
{ name: 'Jerry', age: 20 },
{ name: 'Alice', age: 16 }
];
```
现在,我们要按照 age 列进行排序,可以使用如下代码:
```javascript
arr.sort(function(a, b) {
return a.age - b.age;
});
```
这段代码中,sort 方法接受一个排序函数作为参数,该函数接受两个参数 a 和 b,分别表示待比较的两个元素。函数返回值为一个数字,表示 a 和 b 的大小关系,如果返回值小于 0,则 a 在 b 前面,如果返回值大于 0,则 a 在 b 后面,如果返回值等于 0,则 a 和 b 的顺序保持不变。
在上面的代码中,我们使用 a.age - b.age 来比较两个元素的 age 属性,这样就可以按照 age 列进行排序了。
如果我们要按照 name 列进行排序,可以使用如下代码:
```javascript
arr.sort(function(a, b) {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
});
```
这段代码中,我们使用 if 语句来比较两个元素的 name 属性,如果 a 的 name 属性小于 b 的 name 属性,则 a 在 b 前面,如果 a 的 name 属性大于 b 的 name 属性,则 a 在 b 后面,如果 a 和 b 的 name 属性相等,则保持原有顺序。
阅读全文