JavaScript和Postman的新手。
我已经使用JS在邮递员中设置了一个基本测试,以将Web响应中的名称与数据文件中的名称进行比较。名称数组位于外部数据csv文件中。
我想遍历数组,但出现错误:
"ReferenceError | i is not defined"
码:
var newResponse = responseBody;
let nameArray = data.name;
for (let i = 0; i < nameArray.length; i++) {
console.log(nameArray.length);
}
pm.test("Web vs. Data: Person", function() {
pm.expect(newResponse.Item[i].name).to.equal(nameArray.Item[i].person);
});
console.log(newResponse.Item[i].name);
console.log(nameArray.Item[i].person);
最佳答案
let
是块作用域的,因此将导致ReferenceError出for
循环。变量i
不会在for
循环之外引用。因此,您必须将代码块移动到for
循环内,如下所示。希望这可以帮助 :)
var newResponse = responseBody;
let nameArray = data.name;
for(let i = 0; i < nameArray.length; i++){
console.log(nameArray.length);
pm.test("Web vs. Data: Person" ,function(){
pm.expect(newResponse.Item[i].name).to.equal(nameArray.Item[i].person);
});
console.log (newResponse.Item[i].name);
console.log(nameArray.Item[i].person);
}
关于javascript - JavaScript循环数组-ReferenceError |我没有定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53352155/