gpt4 book ai didi

javascript - eslint 错误 "guard-for-in"不清楚如何使用 for-in

转载 作者:行者123 更新时间:2023-11-29 10:30:11 57 4
gpt4 key购买 nike

我正在使用 Cucumber js,我想在应用程序中填写一些字段,所以我正在使用 for-in 从 rowHash 获取数据,但我收到错误消息“The body of for-in 应该包含在 if 语句中以从原型(prototype) guard-for-in 中过滤不需要的属性”我不确定我应该如何使用 for 中的 if 编写我的 for-in。

这是我的代码:

this.fillRequiredfields = function(dataTable){
var rows = dataTable.rowsHash();
for (var row in rows) {
var val = rows[row];

if (row === 'firstname') {
element(by.name('firstName')).sendKeys(val).isPresent();
}
if (row === 'lastname') {
element(by.name('lastName')).sendKeys(val).isPresent();
}
if (row === 'emailaddress') {
element(by.name('emailAddress')).sendKeys(val).isPresent();
}
if (row === 'displayname') {
element(by.name('displayName')).sendKeys(val).isPresent();
}
if (row === 'password') {
element(by.name('newPassword')).sendKeys(val).isPresent();
}
}
};

因此,当我尝试在 git 中进行提交时,我从 eslint 获得了“guard-for-in”。如果有人可以向我解释我应该如何在 for-in 中执行 if ,那可能会很好。

希望你能帮助我。

最佳答案

我已经解决了这个问题,就我而言,解决方案是:

代替

var val = rows[row];

我用 hasOwnProperty() 添加 if,如下所示:

if (rows.hasOwnProperty(row))

所以代码是这样的:

for (var row in rows) {
if (rows.hasOwnProperty(row)){

if (row === 'firstname') {
element(by.name('firstName')).sendKeys(rows[row]).isPresent();
}
if (row === 'lastname') {
element(by.name('lastName')).sendKeys(rows[row]).isPresent();
}
if (row === 'emailaddress') {
element(by.name('emailAddress')).sendKeys(rows[row]).isPresent();
}
if (row === 'displayname') {
element(by.name('displayName')).sendKeys(rows[row]).isPresent();
}
if (row === 'password') {
element(by.name('newPassword')).sendKeys(rows[row]).isPresent();
}
}
}

希望能对其他人有所帮助。

关于javascript - eslint 错误 "guard-for-in"不清楚如何使用 for-in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48215126/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com