这篇文章主要介绍了JS中如何对数组和对象数组排序,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
注意:sort()方法会改变原数组,默认按unicode码顺序排列
推荐js相关视频教程:course/list/17/type/2.html
一、js中sort方法实现数组排序
var arr = [2,3,13,17,4,19,1];
arr.sort() // [1, 13, 17, 19, 2, 3, 4]
若想对数组按照大小进行排序,则需要在js的sort()方法添加比较函数
var arr = [2,3,13,17,4,19,1];
arr.sort(function(a,b){ // 比较函数
return b - a; // 降序, 升序为 a - b
})
console.log(arr) // [19, 17, 13, 4, 3, 2, 1]
二、js的sort方法实现对象数组的排序
类似于数组中的用法
var arr = [
{ name:"小明", age:12 },
{ name:"小红", age:11 },
{ name:"小刚", age:15 },
{ name:"小华", age:13 }
];
function compare(p){ //比较函数
return function(m,n){
var a = m[p];
var b = n[p];
return a - b;
}
}
arr.sort(compare("age"));
console.log(arr);
//升序,结果: [{name: "小红", age: 11}, {name: "小明", age: 12}, {name: "小华", age: 13},
不足之处还望指出,不胜感激!
感谢你能够认真阅读完这篇文章,希望小编分享JS中如何对数组和对象数组排序内容对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,遇到问题就找天达云,详细的解决方法等着你来学习!