美文网首页
sort 排序

sort 排序

作者: 洪锦一 | 来源:发表于2023-03-09 13:56 被阅读0次

    一、 先根据字母排序,在根据数字排序

    let arr = [
        {name: 'admin'},
        {name: 'Admin'},
        {name: 'admin'},
        {name: 'dom'},
        {name: "3"},
        {name: 'Boy'},
        {name: 'bay'},
        {name: "2"},
        {name: 'com'},
        {name: 'for'},
        {name: "1"},
        {name: "5"},
    ]
    
    
    
    1. 这行代码会根据每个对象中name属性的首字母进行排序,返回一个新的排好序的数组。
    arr.sort((a, b) => a.name.localeCompare(b.name))
    
    1. 这行代码会先判断每个对象中name属性的第一位是字母还是数字,如果第一位是字母,则排在前面,如果第一位是数字,则排在后面。如果第一位相同,则会根据每个对象中name属性进行排序。最后返回一个新的排好序的数组。
    arr.sort((a, b) => {
        const reg = /^[A-Za-z]/;
        const aFirstIsLetter = reg.test(a.name);
        const bFirstIsLetter = reg.test(b.name);
        if (aFirstIsLetter && !bFirstIsLetter) {
            return -1;
        } else if (!aFirstIsLetter && bFirstIsLetter) {
            return 1;
        } else {
            return a.name.localeCompare(b.name);
        }
    })
    

    相关文章

      网友评论

          本文标题:sort 排序

          本文链接:https://www.haomeiwen.com/subject/daialdtx.html