【问题标题】:TSLint: forIn loop must be filteredTSLint:forIn 循环必须被过滤
【发布时间】:2021-11-26 14:53:01
【问题描述】:

我的项目中的 TSLINT 出现错误,关于 forIn 循环。 错误是下一个:

for (... in ...) statements must be filtered with an if statement

我尝试了 Object.prototype.hasOwnProerty.call(object, key) 和 object.hasOwnproperty(key) 这两种解决方案,但我仍然有错误。

代码如下:

const data = result.data
for (const key in data) {
  // Must use a if statement
  if (data.hasOwnProperty(key)) {
    // code...
  }
}

你知道我错过了什么吗?

谢谢大家

【问题讨论】:

    标签: angular typescript tslint for-in-loop


    【解决方案1】:

    您可以通过在 lint 文件中添加配置来禁用此功能。

    参考: https://palantir.github.io/tslint/rules/forin/

    或 第二种选择: 试试这个:

    const data = result.data;
    let key;
    for (key in data) {
      if (data.hasOwnProperty(key)) {
        // code...
      }
    }```
    
    
    

    【讨论】:

    • 感谢第一个建议,但我不能因为项目规则,我不能这样做。
    【解决方案2】:

    我的错,

    其实if语句句柄外面有一行,就是用key...

    我自己注意:确保检查语句范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 2011-05-21
      • 2021-07-04
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-06-06
      • 1970-01-01
      相关资源
      最近更新 更多