问题描述
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] = "";
}