js sort()排序

// 1.对数值型元素的数组进行大小排序
a = [4, 5, 2, -1, 0]
// 升序
function NumAscSort(a, b) {
    return a - b;
}
// function sortArray(arr) {
//     arr.sort((a, b) => a-b)
//     return arr
// }
// 语法:数组对象.sort(排序函数)
console.log(a.sort(NumAscSort))
// [-1, 0, 2, 4, 5]
// console.log(sortArray(a))

//降序
function NumDescSort(a, b) {
    return b - a
}
console.log(a.sort(NumDescSort))
// [5, 4, 2, 0, -1]

// 2.对字母顺序排序
var arr2 = ['tom', 'am', 'from', 'john', 'who']
console.log(arr2.sort())
// ['am', 'from', 'john', 'tom', 'who']

// 3.按照数组对象中某个属性值进行排序
var objall = [
    { name: '桑延', age: 29 },
    { name: '温以凡', age: 28 },
    { name: '桑稚', age: 20 },
    { name: '段嘉许', age: 27 }
]
function compare(prop) {
    return function (a, b) {
        var value1 = a[prop]
        var value2 = b[prop]
        return value1 - value2
    }
}
var objall2 = objall.sort(compare('age'))
for (x of objall2) {
    console.log(x)
}
// 运行结果
// {name: '桑稚', age: 20}
// {name: '段嘉许', age: 27}
// {name: '温以凡', age: 28}
// {name: '桑延', age: 29}

猜你喜欢

转载自blog.csdn.net/weixin_38128649/article/details/128524193