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()方法(改变原数组)。