js数组排序(字符串、数值、对象)

sort() 方法用于对数组的元素进行排序,默认ASCII码字符升序排序,若使用自定义排序规则,必须通过一个函数作为参数来调用

语法: array.sort() 或 array.sort(sortfunction) 

注意:该方法会改变原始数组。

示例1:默认排序

var arr1 = ["Banana", "Orange", "Apple", "Mango"];
var arr2 = ["a", "b", "C", "D"];
var arr2 = [5, 10, 15, 20];

// ["Apple", "Banana", "Mango", "Orange"]
arr1.sort();

// ["C", "D", "a", "b"]
arr2.sort();

// [10, 15, 20, 5]
arr3.sort();

 示例2:自定义排序

var arr1 = ["a", "b", "C", "D"];
var arr2 = [5, 10, 15, 20];
var arr3 = [
        { id: 1, name: 'zhangsan', age: 18 },
        { id: 2, name: 'lisi', age: 20 },
        { id: 3, name: 'wangwu', age: 19 }
      ]

// ["a", "b", "C", "D"]
arr1.sort(function compare(a, b) {
    return a.toLowerCase().localeCompare(b.toLowerCase());
});

// ["5", "10", "15", "20"]
arr2.sort((a, b) => { return a-b });

// 按年龄倒序排序


补充:

中文字符串按拼音排序使用localeCompare()方法。
数组反转使用reverse()方法(改变原数组)。

 

posted @ 2021-07-19 11:24  爱就码上行动  阅读(3123)  评论(0编辑  收藏  举报