如何忽略数组解构中的某些返回值?

时间:2017-10-16 16:40:11

标签: javascript arrays destructuring

当我只对索引0之外的数组值感兴趣时,我可以避免在数组解构时声明无用变量吗?

在下文中,我想避免声明a,我只对索引1及更高版本感兴趣。



// How can I avoid declaring "a"?
const [a, b, ...rest] = [1, 2, 3, 4, 5];

console.log(a, b, rest);




1 个答案:

答案 0 :(得分:35)

  

当我只对索引0之外的数组值感兴趣时,我可以避免在数组解构时声明无用变量吗?

是的,如果您将作业的第一个索引留空,则不会分配任何内容。此行为是explained here



// The first value in array will not be assigned
const [, b, ...rest] = [1, 2, 3, 4, 5];

console.log(b, rest);




除了休息元素之外,您可以随意使用任意数量的逗号:



const [, , three] = [1, 2, 3, 4, 5];
console.log(three);

const [, two, , four] = [1, 2, 3, 4, 5];
console.log(two, four);




以下内容会产生错误:



const [, ...rest,] = [1, 2, 3, 4, 5];
console.log(rest);