我正在自我回答,因为我没有遇到讨论在搜索时忽略变形数组元素的问题。
解构时是否有忽略数组元素的方法?我能想到的最接近的东西是在Go中如何使用_
符号删除参数。
我正在使用ESLint,我希望能够避免未使用的变量警告,而不必显式关闭警告。我也不喜欢范围泄漏,即使范围很小。
例如:
const arr = [
["foo", "bar"],
["fizz", "buzz"],
["hello", "world"]
];
// I don't actually want 'a' to be available in the scope
arr.forEach(([a, b]) => console.log(`a: ${a} | b: ${b}`));
// _ is still defined and equates to 'a' above
arr.forEach(([_, b]) => console.log(`'a': ${_} | b: ${b}`));
答案 0 :(得分:3)
您可以忽略元素,只需不为要分配的值提供变量,而只需像使用逗号一样放置逗号即可。参见MDN: Destructuring assignment#Ignoring some returned values。
例如:
const arr = [
["foo", "bar"],
["fizz", "buzz"],
["hello", "world"]
];
// Just use ','
arr.forEach(([, b]) => {
// No variable is populated with the first element
console.log(typeof(a));
console.log(typeof(b));
console.log(`b: ${b}`);
});