【问题标题】:How to destructur an array with this [closed]如何用这个[关闭]解构数组
【发布时间】:2018-09-13 05:41:58
【问题描述】:

我的 linter 被这个弄疯了:

this.views = data.data[226];

使用数组解构来编写这个的正确方法是什么?

【问题讨论】:

  • 你的意思是你的 linter 在抱怨这个幻数?解构无法帮助您检索数组的第 227 个元素那么容易。您可以将 226 设为常量并使用它,而不是直接在索引器中使用数字。
  • 这里没有进行解构。您只是分配给一个属性。

标签: javascript ecmascript-6


【解决方案1】:

如果您真的想在这里使用解构,则需要 226 个逗号:

const data = {
  data: Array.from({ length: 230 }, (_, i) => i)
};

const [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,views1] = data.data;
console.log(views1);

// without destructuring:
const views2 = data.data[226];
console.log(views2);

但不要这样做,它不可读 - 最好使用标准括号表示法。

解构从相关对象或数组中提取 独立变量 - 要将结果分配给其他对象的属性,您必须先提取所需的信息,然后再分配到你想要的财产。 (例如this.views = views1)如果要求您在过程中使用解构,则没有更短的方法可以一步完成。

【讨论】:

  • 你真的数过 226 个逗号吗?
  • @Idos 我在控制台中输入了','.repeat(226) 并将字符串复制到编辑器中。
  • 大坝,绝对精彩哈哈
  • @Idos 他是“CertainPerformance”,手动编写 226 个逗号会不会很高效? :)
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2018-06-19
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多