34

这是我的原始代码:

const buildTableContent = (settings) => {
  const entries = [];
  for (const key in settings) {
    for (const subkey in env[key]) {

settings基本上是字典的字典

  {  
    'env': {'name': 'prod'}, 
    'sass: {'app-id': 'a123445', 'app-key': 'xxyyzz'}
  }

它触发了以下 AirBnb 风格指南错误:

35:3 错误 for..in 循环遍历整个原型链,这几乎不是您想要的。使用 Object.{keys,values,entries},并遍历生成的数组 no-restricted-syntax

所以我将代码更改为

const buildTableContent = (settings) => {
  const entries = [];
  for (const key of Object.keys(settings)) {
    for (const subkey of Object.keys(env[key])) {

按照建议。

现在当我跑步时lint,我得到了这个:

35:3 错误迭代器/生成器需要 regenerator-runtime,这对于本指南来说太重了,不允许它们。另外,应避免循环以支持数组迭代无限制语法

所以在我看来,无论哪种方式,他们都违反了一些 lint 风格。

我该如何解决这个问题?

4

1 回答 1

50

你想用

Object.keys(settings).forEach(key => {
  Object.keys(env[key]).forEach(subkey => {

或可能Object.entriesObject.values取决于您是否真的想要钥匙。

于 2017-11-10T00:02:28.070 回答