JavaScript 对象数组按属性排序实现方法
作者:青柠时间:2026-10-23 11:03:26浏览:260
本文介绍如何在 JavaScript 中对包含对象的数组进行排序。通过示例展示了直接使用箭头函数按数值属性排序,以及封装通用比较函数以支持指定属性和升降序排列的方法,供开发参考。
JavaScript 对象数组排序实现
本文主要讲解在 JavaScript 中依据对象数组的特定属性进行排序的代码实现。文中提供了详细的示例代码,对学习和实际应用具有参考价值。
具体实现代码如下所示:
var arr = [
{name:'a',age:9},
{name:'b',age:12},
{name:'c',age:8}
];
arr.sort((a,b)=>{
return a.age - b.age
});
function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))
* 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序
* @param attr 排序的属性 如number属性
* @param rev true表示升序排列,false降序排序
* */
sortBy: function(attr,rev){
//第二个参数没有传递 默认升序排列
if(rev == undefined){
rev = 1;
}else{
rev = (rev) ? 1 : -1;
}
return function(a,b){
a = a[attr];
b = b[attr];
if(a < b){
return rev * -1;
}
if(a > b){
return rev * 1;
}
return 0;
}
}
以上即为本文分享的全部内容,希望能为各位的学习或工作提供帮助,欢迎继续支持本站。
作者最新文章
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
JavaScript新手常犯的编码错误与最佳实践指南
2026-11-04 22:12:38
