我正在审查代码卡kata中的一些替代解决方案,并且在“顶级'溶液:
result.push(...algo(numbers[i]));
' ...'的目的是什么?在这种背景下?我之前没有看过这个,也无法在任何地方找到它。
这是ES6中的新功能吗?
如果你需要更多的背景,那就是以不同的方式将所有偶数分成奇数的' kata,并且是用户的解决方案' ph0en1x'。
不要在这里发布整个代码,以免破坏任何其他潜在用户的挑战。
谢谢,如果有人能够帮助澄清!
答案 0 :(得分:4)
这是一个ES6功能,称为spread
运算符。
这意味着你有一个像[1,2,3]
这样的数组对象,并且有一个接受3个参数的函数,你不需要像func(arr[0], arr[1], arr[2])
那样传递。你可以只传播func(...arr)
数组,它会做同样的事情而不是你。
var arr = [1,2,3];
function func(a,b,c){
console.log(a); // arr[0]
console.log(b); // arr[1]
console.log(c); // arr[2]
}
func(...arr);