什么' ...'在Javascript中意味着什么?

时间:2017-01-26 08:53:40

标签: javascript

我正在审查代码卡kata中的一些替代解决方案,并且在“顶级'溶液:

result.push(...algo(numbers[i]));

' ...'的目的是什么?在这种背景下?我之前没有看过这个,也无法在任何地方找到它。

这是ES6中的新功能吗?

如果你需要更多的背景,那就是以不同的方式将所有偶数分成奇数的' kata,并且是用户的解决方案' ph0en1x'。

不要在这里发布整个代码,以免破坏任何其他潜在用户的挑战。

谢谢,如果有人能够帮助澄清!

1 个答案:

答案 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);