JavaScript 对象数组按指定 Key 排序的实现方法

作者:闭包旅人

时间:2026-10-29

浏览:642

本文介绍如何在 JavaScript 中对包含对象的数组进行排序。通过定义一个通用的 keysrt 函数,利用 Array.prototype.sort 方法,可根据对象的指定 Key(如 name 或 id)进行升序或降序排列。示例展示了如何传递参数控制排序方向,适用于需要根据动态字段排序数据的场景。

文章目录

JavaScript 对象数组按 Key 排序实现

假设有一个 JavaScript 对象数组,例如 var ary=[{id:1,name:"b"},{id:2,name:"b"}],现在的需求是根据对象中的 name 或 id 字段的值对该数组进行排序。这里提供一个简洁高效的实现函数。

首先定义排序函数:

具体代码实现如下:

function keysrt(key,desc) {
return function(a,b){
return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
  }
}

接下来是具体的使用示例:

调用代码如下:

var ary=[{id:1,name:"b"},{id:2,name:"b"}];
ary.sort(keysrt('name',true));
ary.sort(keysrt('name',false));
ary.sort(keysrt('id',false));

以上即为本文介绍的全部内容,希望读者能仔细研究并应用于实际开发中。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章