javascript - 解构数组时如何忽略项目?
问题描述
我自己回答这个问题,因为我没有遇到讨论在搜索时忽略解构数组元素的问题或答案。
有没有办法在解构时忽略数组的元素?我能想到的最接近的事情是在 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}`));
解决方案
您可以通过简单地不为要分配的值提供变量来忽略一个元素,而只是将逗号放在您的位置上。请参阅MDN:解构赋值#忽略一些返回值。
例如:
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}`);
});
推荐阅读
- sql-server - 如何使用 SSIS 导出平面文件
- image - 如何使用 MATLAB 提取图像元数据?
- keras - 具有 sigmoid 输出的二元分类中的类概率
- java - 你怎么知道来自不同数组列表的两个元素是否发生冲突?
- javascript - 从 id 中具有特定子字符串的 HTML 表中删除所有行 (tr)
- javascript - 如何让 Cropper.js 使用来自 URL 的图像
- java - 如何将 Node、Edge 和 Dijkstra 类正确链接到 Main 方法
- java - 带有形状体积和面积类的 Java 接口
- reactjs - Electron:使用上下文菜单粘贴字符串
- r - R将箱形图与条形图结合起来有效,但反之则不行