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));
以上即为本文介绍的全部内容,希望读者能仔细研究并应用于实际开发中。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
