javascript - 计数并循环遍历数组的 JSON 对象

标签 javascript json protractor

当我想遍历 JSON 对象数组时遇到问题。

问题,例如:

  • 它只算两个(我假设是因为它们是 Object.keys)而且我有两个 key 。
  • 只有一个值的循环

我的代码:

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 ObjectLength 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/

相关文章:

javascript - 将图像从一个 div 动画化到另一个 div

javascript - HTML5 拖放 - 将选择文本拖放到可放置元素中

python - 带字典路径的参数

javascript - Protractor :您可以选择一个绑定(bind)而不将其包装在元素中吗?

javascript - 使 expect 的两个部分 resolve promises

javascript - 如何使用旧版免费 JavaScript 将标记(不仅仅是纯文本)复制到剪贴板

javascript - Svg (snapsvg) 创建一个对话泡泡

json - 从 JSON 中提取一个 int、string、boolean 等作为其对应的 PostgreSQL 类型

ruby-on-rails - url末尾传多个参数时如何获取具体数据?

javascript - 哪个更好 : Using inbuilt Protractor/selenium functionalities OR Installing other node packages for protractor?