js sort() reverse()
2016-08-22 16:30 改吧 阅读(392) 评论(0) 编辑 收藏 举报数组中存在的两个方法:sort()和reverse()
直接用sort(),如下:
var array = [3,7,2,8,2,782,7,29,1,3,0,34]; 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 -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)); ps:[0, 1, 2, 2, 3, 3, 7, 7, 8, 29, 34, 782]
同理 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这就是所谓的降序
不过我也不懂,为什么会这样,但是在博客园问了一下说是自定义的那就是靠死记吗?那我就不知道了 目前只能这样想,还不知道更多
哈哈~~~~