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():
1 2 3 4 5 | 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()也是这样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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这就是所谓的降序
不过我也不懂,为什么会这样,但是在博客园问了一下说是自定义的那就是靠死记吗?那我就不知道了 目前只能这样想,还不知道更多
哈哈~~~~
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步