几乎是标题。我有一些想法,但似乎没有一个想法 - 即使在阅读文档和示例之后,我似乎也无法理解reduce函数的确切含义是什么。
我应该将数组作为参数并使用reduce来返回数组的反转。
答案 0 :(得分:7)
您可以使用Array.prototype.concat():
[1, 2, 3].reduce((a, b) => [b].concat(a), [])
[1, 2, 3].reduce((a, b) => [b, ...a], [])
但是已经存在反转数组的方法 - Array.prototype.reverse()。
答案 1 :(得分:2)
你可以这样做:
array.reduce((v,a) => { v.unshift(a); return v; }, []);
只需将其添加到生成的数组(位于前面)将减少数组并将最后一项保留在前面。但是像所有人都提到的那样,数组已经有内置方法可以解决这个问题:Array.reverse
。
答案 2 :(得分:1)
你可以这样做;
var arr = [1,2,3,4,5],
brr = arr.reduce((p,c) => [c].concat(p));
console.log(brr);

......或另一种方式
var arr = [1,2,3,[4],5],
brr = arr.reduce((p,c,i) => i-1 ? [c,...p] : [c,p]);
console.log(brr);

答案 3 :(得分:0)
var reverseArray = function (arr) {
return list.reduce(function (list, current) {
list.unshift(current);
return list;
}, []);
};
console.log(reverseArray([1,2,3,4]));
答案 4 :(得分:0)
user_ID request_time diff
0 a11e41cdc2 2018-03-01 08:08:00 NaT
1 a11e41cdc2 2018-03-01 08:13:00 00:05:00
2 2791ec4485 2018-03-01 13:50:00 NaT
3 2791ec4485 2018-03-01 13:51:00 00:01:00
4 2791ec4485 2018-03-01 13:53:00 00:02:00
5 2791ec4485 2018-03-01 13:55:00 00:02:00
6 2791ec4485 2018-03-01 22:10:00 08:15:00
7 59f84cf342 2018-03-01 22:19:00 NaT
8 59f84cf342 2018-03-01 22:20:00 00:01:00
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight