JavaScript 对象数组按属性排序实现方法

作者:青柠

时间:2026-10-23

浏览:259

本文介绍如何在 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;
    }
  }

以上即为本文分享的全部内容,希望能为各位的学习或工作提供帮助,欢迎继续支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章