对象数组通过对象的属性进行排序_对象数组根据属性的有无排序

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

var arr1 = arr.sort();
console.log(arr); // [1, 13, 2, 4, 5, 7, 9]
console.log(arr1); // [1, 13, 2, 4, 5, 7, 9]


sort()方法会改变原来的数组,并且sort方法并不是严格按照数字大小排序的。   
 如果想对数组按照大小进行排序,则需要在sort()方法添加比较函数



var arr = [2,5,13,7,4,9,1];
arr.sort(function(a,b){
return a-b; // -1 升序排列
})
console.log(arr); // [1, 2, 4, 5, 7, 9, 13]


比较函数compare返回值特点:



> 
> 若a小于b,在排序后的数组中a应该出现在b之前(即升序排列),则返回小于0的值   
>  若a等于b,则返回0   
>  若a大于b,则返回一个大于0的值
> 
> 
> 


##### **那么可不可以利用sort方法对对象数组按照对象属性进行排序呢?**


答案是可以的   
 像上面对数组按照大小排序,指定比较函数一样,只是此时比较的是对象的属性   
 上代码:对下列对象数组,按照age排序



var infoObj=[
{
name:“张三”,
sex:‘female’,
age:30
},
{
name:“李四”,
sex:‘male’,
age:20
},
{
name:“王五”,
sex:‘female’,
age:40
}
];
// 指定排序的比较函数
function compare(property){
return function(obj1,obj2){
var value1 = obj1[property];
var value2 = obj2[property];
return value1 - value2; // 升序
}
}
var sortObj = infoObj.sort(compare(“age”));
console.log(sortObj); //


最后打印出来的结果如下所示:



[
{
name:“李四”,
sex:‘male’,

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值