首页 新闻 会员 周边

js数组反转

0
[已解决问题] 解决于 2018-09-03 17:52

首先不能运用reverse();代码长度不能超过30个字符

js运用数组的sort()方法实现反转该怎样传参。

或者运用另一种方法实现数组反转也行。

你风致的主页 你风致 | 老鸟四级 | 园豆:2213
提问于:2018-08-22 10:47
< >
分享
最佳答案
0

reverse=a=>[...a].map(a.pop,a)

你风致 | 老鸟四级 |园豆:2213 | 2018-09-03 17:51
其他回答(4)
0
        var arr = new Array(1, 2, 3, 4, 5);
        var res = new Array();
        for (var i = arr.length-1; i >= 0; i--) {
            res.push(arr[i]);
        }
        arr = res;
        console.log(arr);

倒过来循环一下不就可以了

顾星河 | 园豆:7173 (大侠五级) | 2018-08-22 11:06

代码长度不超过30个字符

支持(0) 反对(0) 你风致 | 园豆:2213 (老鸟四级) | 2018-08-22 11:08
0
while(a.length)b.push(a.pop())

刚好30个字符,我真是无聊

by.Genesis | 园豆:2719 (老鸟四级) | 2018-08-22 14:08

要封装成一个方法

支持(1) 反对(0) 你风致 | 园豆:2213 (老鸟四级) | 2018-08-22 14:12
0

arr.sort((a, b) => a < b)

jello chen | 园豆:7336 (大侠五级) | 2018-08-22 22:37

['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],得到的结果是错的。

支持(0) 反对(0) 你风致 | 园豆:2213 (老鸟四级) | 2018-08-23 09:31
0

var values=[0,1,5,10,15];
values.sort(compare);
console.log(values);
//输出:Array(5) [ 15, 10, 5, 1, 0 ]

城外三石 | 园豆:210 (菜鸟二级) | 2018-12-09 17:14

刚好,只不过需要一个辅助定位的函数
function compare(value1,value2) {
if(value1 <value2){
return 1;
}else if(value1 >value2){
return -1;
}else{
return 0;
}
}

支持(0) 反对(0) 城外三石 | 园豆:210 (菜鸟二级) | 2018-12-09 17:16

但是这样具体的是数组升序排列,不算完全的反转把

支持(0) 反对(0) 城外三石 | 园豆:210 (菜鸟二级) | 2018-12-10 13:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册