Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ES6中将数组分解为函数参数的语法_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript ES6中将数组分解为函数参数的语法

Javascript ES6中将数组分解为函数参数的语法,javascript,ecmascript-6,Javascript,Ecmascript 6,在Javascript 2015/ES6/ECMAScript 2015中,有大量关于如何分解作为函数参数传递的对象的文档,函数如下: function foo({a, b}) { console.log(`a: ${a}, b: ${b}`); } foo(['first', 'second']); // Will output: // param1: first, param2: second 但是如何解构数组参数?解构数组参数的正确语法是: function foo([a,

在Javascript 2015/ES6/ECMAScript 2015中,有大量关于如何分解作为函数参数传递的对象的文档,函数如下:

function foo({a, b}) {
   console.log(`a: ${a}, b: ${b}`);
}
 foo(['first', 'second']);
 // Will output:
 // param1: first, param2: second

但是如何解构数组参数?

解构数组参数的正确语法是:

function foo([a, b]) {
   console.log(`param1: ${a}, param2: ${b}`);
}
可以这样称呼:

function foo({a, b}) {
   console.log(`a: ${a}, b: ${b}`);
}
 foo(['first', 'second']);
 // Will output:
 // param1: first, param2: second
根据,您也可以使用它来分解箭头函数中的参数:

const items = [ ['foo', 3], ['bar', 9] ];
items.forEach(([word, count]) => {
    console.log(word+' '+count);
});

如果我们想捕获数组中的剩余参数,可以使用rest操作符:
函数foo([a,b,…args])
谢谢。对于我来说,这是正确的,但我还有其他问题导致将void传递到数组的每个元素中。(
map
而不是rxjs中的
tap
)。所以我认为我错了。诚实的问题:为什么这是被否决的?我很难在SO或一般互联网上找到这个问题的直接答案,我相信语法问题是合理的。关于如何解构对象参数的文档肯定也会包括如何解构数组参数。@torazaburo那么,指向该文档的链接将是问题的有效答案OK,隐藏在该文档的两行中(10.1.3哪里可以使用解构?)有一个将数组分解为函数参数的示例。我仍然认为这是一个合理的问题,因为尽管语法可能很明显,文档并不明确,而且必须阅读语言规范并不总是合理的。我不确定为什么投了反对票,但我投了赞成票。