var a =[13,21,223,34,4,9,73] //定义一个数组
a.reverse(); //给它倒叙
console.log(a);
// [73, 9, 4, 34, 223, 21, 13],reverse()没那么好用,不是想要的
function compare(v1,v2){
return v1-v2
}
a.sort(compare);
console.log(a); //[4, 9, 13, 21, 34, 73, 223]
a.reverse();
console.log(a) // [223, 73, 34, 21, 13, 9, 4] ,奇怪为什么在重新给a倒叙时,reverse()就管用了,这时的a数组与最开始的a数组除了数字排列之外还有什么差别吗?
PHP中文网2017-04-11 11:54:07
是你所理解的倒叙跟我们理解的不一样吧,你所理解的倒序应该是从大到小,正许序是从小到大,那个reverse有何关系?,下面的代码同样能满足你的需求
function compare(v1,v2){
return v2-v1;
}
a.sort(compare);
console.log(a); //[4, 9, 13, 21, 34, 73, 223]
a.reverse();
console.log(a)
迷茫2017-04-11 11:54:07
1.reverse是用来翻转数组用的,而不是用来排序
2.当你最后一个reverse能输出你想要的结果是建立在你已经将数组进行排序号以后的情况(即a.sort(compare)后得到的结果)
3.sort是用来排序的,默认是按照字符编码的顺序进行排序