看到一个 reduce
的高级用法
function Reverse(arr = []) {
return arr.reduceRight((accumulator, currentValue) => (t.push(currentValue), accumulator), [])
}
Reverse([1, 2, 3, 4, 5]) // [5, 4, 3, 2, 1]
就是用 reduce
来实现 reverse
方法
已知 accumulator : 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值
这段话是MDN中所描述的
但是这里箭头函数return的 (t.push(v), t)
,我始终没看明白是个什么意思?
为什么不是直接 return t.push(v)
呢?
t.push(i) 返回值是 i
(t.push(i), t) 返回值是 t