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

作者:闭包旅人时间:2026-10-29 06:51:07浏览:643

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

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

作者最新文章