[英]Javascript - using reduce to reverse an array
标题差不多。 我有一些想法,但似乎都没有成功 - 即使在阅读了文档和示例之后,我似乎也无法理解 reduce 函数的参数到底需要是什么。
我应该将数组作为参数并使用 reduce 返回数组的反向。
您可以使用Array.prototype.concat() :
[1, 2, 3].reduce((a, b) => [b].concat(a), [])
或使用扩展语法:
[1, 2, 3].reduce((a, b) => [b, ...a], [])
然而,已经存在反转数组的方法 - Array.prototype.reverse() 。
你可以这样做:
array.reduce((v,a) => { v.unshift(a); return v; }, []);
简单地将它添加到结果数组(在前面)将减少数组并将最后一项留在前面。 但就像每个人提到的,数组已经有一个内置的方法来处理这个: Array.reverse
。
你可以简单地这样做;
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);
var reverseArray = function (arr) {
return list.reduce(function (list, current) {
list.unshift(current);
return list;
}, []);
};
console.log(reverseArray([1,2,3,4]));
a.reduceRight((acc, cur) => { return acc.concat(cur) }, [])
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.