当我想遍历 JSON 对象数组时遇到问题。
问题例如:
我的代码:
var codes = require('./nl.json');
for (var i = 0, l = Object.keys(codes).length; i <= l; i++) {
console.log(l) ;
var areaCodeTest = codes.netherlands[i].areaCode;
var areaNameTest = codes.netherlands[i].areaName;
it("Search for postal code ", function(){
var postCode = element(by.id("imysearchstring"));
postCode.click();
browser.sleep(1000);
console.log(areaCodeTest);
postCode.clear().sendKeys(areaCodeTest);
browser.sleep(1000);
console.log("Typed " + areaCodeTest);
});
}
我的 Json(简短示例):
{
"netherlands": [
{
"areaCode": 9401,
"areaName": "Assen"
},
{
"areaCode": 9402,
"areaName": "Assen"
},
{
"areaCode": 9403,
"areaName": "Assen"
}
]
}
我看过以下答案:
Size of Object 和
Length of Json
我试过:
(var i = 0, l = Object.keys(codes).length; i <= l; i++)
(var i = 0, l = Object.keys(codes.netherlands[0]).length; i <= l; i++)
for (var i = 0, l = codes.netherlands.length; i <= l; i++) // uses last areaCode in json file and only loop with that number. It does not start from top.
图片:
some of my outputs
预期:
我想要的是计算 JSON 中的对象数量(不是键/值)
循环遍历所有数据并将它们分配给
var areaCodeTest = codes.netherlands[i].areaCode;
和 var areaNameTest = codes.netherlands[i].areaName;
最佳答案
我通过使用以下方法让它工作:
var codes = require('./nl.json');
codes.forEach((item) => {
var areaCodeTest = item.areaCode;
var areaNameTest = item.areaName;
it("and search for postal code ", function(){
var postCode = element(by.id("imysearchstring"));
postCode.click();
console.log(areaCodeTest);
postCode.clear().sendKeys(areaCodeTest);
browser.sleep(1000);
console.log("Typed " + areaCodeTest);
});
}
我不是 100% 的
=>
在 foreach 附近意味着什么,但我目前正在研究为什么我的代码有效。如果您知道,请发表评论,以便其他开发人员也学习。这让我想起了模因“不确定为什么代码不起作用/不确定代码为什么起作用”
关于javascript - 对数组的 JSON 对象进行计数和循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57441997/