sort顺序排序
var arr=[9,8,6,5,3,1,2,7,4]
arr.sort() //返回值 [1, 2, 3, 4, 5, 6, 7, 8, 9]
降序排列
var arr=[9,8,6,5,3,1,2,7,4]
arr.sort((a,b)=>{return b-a})//返回结果[9, 8, 7, 6, 5, 4, 3, 2, 1]
如果需求是按照对象中指定的某个值排序:
var arr=[//按照姓名排序
{name:“a啊”,age:10},
{name:“z在”,age:10},
{name:“b吧”,age:10},
{name:“e额”,age:10},
];
arr.sort(
(a,b)=>{
a=a.name;b=b.name;
if(a<b){return -1}
else if(a>b){return 1}
else{return 0}
}
)
//返回结果升序为:
/*
0: {name: “a啊”, age: 10}
1: {name: “b吧”, age: 10}
2: {name: “e额”, age: 10}
3: {name: “z在”, age: 10}
/
arr.sort(
(a,b)=>{
a=a.name;b=b.name;
if(a<b){return 1}
else if(a>b){return -1}
else{return 0}
}
)
/
返回结果为降序排列
0: {name: “z在”, age: 10}
1: {name: “e额”, age: 10}
2 : {name: “b吧”, age: 10}
3: {name: “a啊”, age: 10}
*/
其中sort中函数的返回值当返回值为0时候a b位置不变 返回值为1时候则为升序,为-1则为降序
注意,数组在原数组上进行排序,不生成副本!!