sort()方法用域对数组的元素进行排序,并返回数组,排序规则是字符串Unicode码
var arr1 = [12, 11, 1, 23, '45', '34', 21, 'b', 'a', 'ab', 'bc', 111]
console.log(arr1.sort())
// [1, 11, 111, 12, 21, 23, '34', '45', 'a', 'ab', 'b', 'bc']
语法: array.sort(sortby),sortby是个函数
a - b是升序
b - a是降序
var arr1 = [12, 11, 1, 23, '45', '34', 21, 'b', 'a', 'ab', 'bc', 111]
let a = arr1.sort(function(a, b){return a-b})
console.log(a)
// [1, 11, 12, 21, 23, '34', '45', 'b','a', 'ab', 'bc', 111]
根据对象中的某一个属性进行排序
let arr = [{name: '张三', age: 25},{name: '李四', age: 18},{name: '王五', age: 38}]
let newArr = arr.sort(function(a, b){
return a.age - b.age
})
console.log(newArr)
// [{ name: '李四', age: 18 },{ name: '张三', age: 25 },{ name: '王五', age: 38 }]
let arr = [{name: '张三', age: 25},{name: '李四', age: 18},{name: '王五', age: 38}]
function compare(property){
return function(a, b){
return a[property] - b[property]
}
}
console.log(arr.sort(compare('age')))
// [{ name: '李四', age: 18 },{ name: '张三', age: 25 },{ name: '王五', age: 38 }]
sort函数排序,数量小于10的数组使用insertSort,比10大的数组则使用quickSort