[英]JavaScript loop an array - ReferenceError | i is not defined
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);
}
您的最終范圍“}”字符缺失,請更改此代碼;
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.