PhpStorm 抱怨向数组添加键值

问题描述

我有以下代码

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

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

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

但是 givenAnswers 变量是一个数组而不是一个对象,我想附加新的键和值。如何删除警告,或者代码有什么问题?

解决方法

虽然您可以添加 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] = "";
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...