javascript - 关于reverse()有个小疑问
阿神
阿神 2017-04-11 11:52:07
0
3
768
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数组除了数字排列之外还有什么差别吗?
阿神
阿神

闭关修行中......

reply all(3)
迷茫

所谓的倒序是指首尾交换2333

Ty80

是你所理解的倒叙跟我们理解的不一样吧,你所理解的倒序应该是从大到小,正许序是从小到大,那个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)
迷茫

1.reverse是用来翻转数组用的,而不是用来排序
2.当你最后一个reverse能输出你想要的结果是建立在你已经将数组进行排序号以后的情况(即a.sort(compare)后得到的结果)
3.sort是用来排序的,默认是按照字符编码的顺序进行排序

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template