本文介绍如何在 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));
以上即为本文介绍的全部内容,希望读者能仔细研究并应用于实际开发中。