作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
MVC3 中的助手是否在 Controller 和 View 中使用? 助手是放置常用 Controller 方法的正确位置吗? 我想创建一个通用方法来获取数据库中的所有子子 ID,并确保它位于正确的
有人可以阐明这两者之间的区别吗,因为它们存在于执行上下文中?我很难阅读 ECMA 262 v 5规范并清楚地看到差异。 谢谢你, 最佳答案 两者都是执行上下文的组件(相同类型),但它们有不同的用途(f
我是一名优秀的程序员,十分优秀!