【问题标题】:PhpStorm complains about adding key value to an arrayPhpStorm 抱怨向数组添加键值
【发布时间】:2021-01-18 06:45:41
【问题描述】:

我有以下代码:

            let self = this;
          
            for (const questionIndex in self.questions) {
                self.givenAnswers[questionIndex] = "";
            }

PhpStorm 抱怨 self.givenAnswers[questionIndex] = ""; 行说我需要检查对象是否具有该属性。 完整的信息是:

可能对意外(自定义/继承)成员进行迭代,可能缺少 hasOwnProperty 检查。

但是givenAnswers 变量是一个数组而不是一个对象,我想追加新的键和值。怎么去掉警告,还是代码有问题?

【问题讨论】:

    标签: javascript phpstorm webstorm


    【解决方案1】:

    虽然您可以添加 hasOwnProperty 检查来修复警告:

    for (const questionIndex in self.questions) {
        if (self.questions.hasOwnProperty(questionIndex)) {
            self.givenAnswers[questionIndex] = "";
        }
    }
    

    如果它是一个数组,我认为从 0 迭代到它的长度会不那么冗长:

    for (let i = 0; i < self.questions.length; i++) {
        self.givenAnswers[i] = "";
    }
    

    【讨论】:

    • 好的,第一个帮助我解决了这个问题。在 PHPStorm 方面对我来说确实有点愚蠢 - 如果我正在迭代对象键 - 对象应该有键,为什么它应该抱怨。 oO
    猜你喜欢
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    相关资源
    最近更新 更多