js sort() reverse()

时间:2023-01-16 06:35:32

数组中存在的两个方法:sort()和reverse()

直接用sort(),如下:

var array = [,,,,,,,,,,,];
console.log(array.sort());
ps:[0, 1, 2, 2, 29, 3, 3, 34, 7, 7, 782, 8]

这个好像真的效果,sort():

arr.sort([compareFunction])
参数 compareFunction
可选。用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。

原来是compareFunction的问题,然后开始:

function compare(value1,value2){
if(value1<value2){
return -;
}else if(value1>value2){
return ;
}else{
return ;
}
}
var array = [,,,,,,,,,,,];
console.log(array.sort(compare)); ps:[, , , , , , , , , , , ]

同理 reverse()也是这样

function compare(value1,value2){
if(value1>value2){
return -1;
}else if(value1<value2){
return 1;
}else{
return 0;
}
}
function compare1(value1,value2){
if(value1>value2){
return 1;
}else if(value1<value2){
return -1;
}else{
return 0;
}
}
var array = [3,7,2,8,2,782,7,29,1,3,0,34];
console.log(array.sort(compare));//[782, 34, 29, 8, 7, 7, 3, 3, 2, 2, 1, 0]
console.log(array.sort(compare1));//[0, 1, 2, 2, 3, 3, 7, 7, 8, 29, 34, 782]

ps:compare中return -1两个数之间就会交换位置,就像1,2;return 负数的话 就会2,1所以这就是所谓的升序,

  return 1的话就会默认位置,就是1,2就是返回1,2这就是所谓的降序

  不过我也不懂,为什么会这样,但是在博客园问了一下说是自定义的那就是靠死记吗?那我就不知道了 目前只能这样想,还不知道更多

  哈哈~~~~