👩🌾不负代码不负卿!面向对象面向君!👨🌾
💖明天就是5·20啦!这是一份来自小新星球的礼物!请注意查收!学完我的文章桃花爆棚的哟💖
一、sort()方法简介
JavaScript中的sort( )方法能够根据一定条件对数组元素进行排序
🚀使用sort( )方法的注意点:
1、排序操作会影响原数组
2、如果不传参数,会按照unnicode码进行比较排序(类似于字符串比较)
3、如果需要传参,需要传一个回调函数
二、使用sort()方法排序的四种情况
1、不传参数:将不会按照数值大小排序,按照字符编码的顺序排序
var arr = ['General','Aim','Tom','Bob','Jhon'];
console.log(arr.sort());
2、传入参数,实现升序和降序
var arr = [5,4,8,2,1,6,3,7];
arr.sort(function(a,b){
return a - b; //从小到大排序
});
console.log(arr);
var arr = [5,4,8,2,1,6,3,7];
arr.sort(function(a,b){
return b - a; //从大到小排序
});
console.log(arr);
3、根据数组中的对象的莫个属性值排序
var arr = [{id:4},{id:7},{id:5},{id:9},{id:1},{id:2}];
arr.sort(function(a,b){
return a.id - b.id; //根据属性值从小到大排序
});
console.log(arr);
var arr = [{id:4},{id:7},{id:5},{id:9},{id:1},{id:2}];
arr.sort(function(a,b){
return b.id - a.id; //根据属性值从大到小排序
});
console.log(arr);
4、根据数组对象的多个属性值排序(多条件排序)
var arr = [{id:10,age:22},{id:4,age:12},{id:10,age:18},{id:2,age:37},{id:5,age:29}];
arr.sort(function(a,b){
if(a.id == b.id){
return b.age - a.age; //如果id相等,则根据age属性值从大到小排序
}
else{
return a.id - b.id; //如果id不相等,则根据id属性值从小到大排序
}
});
console.log(arr);
三、总结
💪本期的博客就到这里就结束啦!
再次说明重要的一点:如果元素不是字符串,则 sort() 方法试图把数组元素都转换成字符串,以便进行比较。
小新明天就要粗去happy啦!!!骑上我心爱的小摩托🛵