sort()排序用法

sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。


不传入参数,不会按照数值大小进行排序,按照字符编码顺序排序
var arr = ['a','f','s','b','A'];
console.log(arr.sort()); //["A", "a", "b", "f", "s"]
            
var arr1 = [5,4,23,111,3]
console.log(arr1.sort()) //[111, 23, 3, 4, 5]
            
传入参数,比较参数大小,此时是原数组发生改变
var arr = [5,4,23,111,3]
arr.sort(function(a,b){
    return a-b;
})      
console.log(arr) //[3, 4, 5, 23, 111]
若想要根据数组中的对象的某个属性值进行排序
var arr = [{id:10},{id:5},{id:6},{id:9},{id:2},{id:3}];
arr.sort(function(a,b){
    return a.id - b.id;
})

console.log(arr) 
//输出新的排序
//      {id: 2}
//      {id: 3}
//      {id: 5}
//      {id: 6}
//      {id: 9}
//      {id: 10}
根据数组中的对象的多个属性值排序,实现多条件排序
        var arr6 = [{id:10,age:2},{id:5,age:4},{id:6,age:10},{id:9,age:6},{id:2,age:8},{id:10,age:9}];
        arr6.sort(function(a,b){
            if(a.id === b.id){//如果id相同,按照age的降序
                return b.age - a.age
            }else{
                return a.id - b.id
            }
        })
        console.log(arr6);
        //输出新的排序
        //      {id: 2, age: 8}
        //      {id: 5, age: 4}
        //      {id: 6, age: 10}
        //      {id: 9, age: 6}
        //      {id: 10, age: 9}
        //      {id: 10, age: 2}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容