Javascript ES6中将数组分解为函数参数的语法
在Javascript 2015/ES6/ECMAScript 2015中,有大量关于如何分解作为函数参数传递的对象的文档,函数如下: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,
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哪里可以使用解构?)有一个将数组分解为函数参数的示例。我仍然认为这是一个合理的问题,因为尽管语法可能很明显,文档并不明确,而且必须阅读语言规范并不总是合理的。我不确定为什么投了反对票,但我投了赞成票。