Javascript 这个reduce函数是使用spread还是rest?
我在区分传播和休息方面有点困难。有人能解释一下reduce函数返回语句中是否使用了spread或rest吗 这是我不理解的:Javascript 这个reduce函数是使用spread还是rest?,javascript,rest,reduce,spread,Javascript,Rest,Reduce,Spread,我在区分传播和休息方面有点困难。有人能解释一下reduce函数返回语句中是否使用了spread或rest吗 这是我不理解的: return [currentValue, ...accumulator] 里面 let str = 'KING'; const reverseStr = str => { return str .split('') .reduce((accumulator, currentValue) => { return [curre
return [currentValue, ...accumulator]
里面
let str = 'KING';
const reverseStr = str => {
return str
.split('')
.reduce((accumulator, currentValue) => {
return [currentValue, ...accumulator];
}, [])
.join('');
};
Rest语法始终创建或分配变量,例如:
const [itemOne, ...rest] = arr;
// ^^ created ^^^^
扩展语法只会产生另一个数组或对象表达式-它不会将任何内容放入变量中。在这里,您将使用扩展语法创建一个由currentValue和累加器的值组成的新数组
就像
return [currentValue, accumulator[0], accumulator[1], accumulator[2] /* ... */];
您正在将累加器的项目分散到要返回的阵列中。您已经为我清除了周围的迷雾。非常感谢!
return [currentValue, accumulator[0], accumulator[1], accumulator[2] /* ... */];