默认情况下,sort() 方法将按字母升序将值作为字符串进行排序。
注意: sort() 方法会改变原始数组。
如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,如果数组中的元素是数值类型,如果需要升序排序,那么就返回a - b;如果需要降序排序,那么就返回b-a;
let oldArr = [19, 55, 6, 52, 4 , 6, 15, 28, 23, 2, 1, 9];
oldArr.sort();//默认将数字按照字符串进行排序,排序顺序为字母升序
console.log(oldArr); //[1, 15, 19, 2, 23, 28, 4, 52, 55, 6, 6, 9]
let obj = [{
name: '张三',
age: 18
},
{
name: '李四',
age: 16
},{
name: '王五',
age: 20
}]
obj.sort((a, b)=>{
return a.age-b.age;//按照年龄属性升序排列
})
console.log(JSON.stringify(obj));//[{"name":"李四","age":16},{"name":"张三","age":18},{"name":"王五","age":20}]