javascript - 无需键即可迭代 Json 数组

标签 javascript arrays json loops

首先,这个问题可能已经被问过好几次了,但是我发现的每个线程都对我没有帮助。如果有人可以重写我的函数如下,我将不胜感激。

我有以下带有 Json 对象的数组。

目标是获取“url”值。现在我从该数组中获取每个值。

a = [{
  "result": [{
      "name": [
        "name"
      ],
      "url": [
        "www.bar.com"
      ]
    },
    {
      "name": [
        "name 2"
      ],
      "url": [
        "www.bar.org"
      ]
    },
    {
      "name": [
        "name 1"
      ],
      "url": [
        "www.bar.biz"
      ]
    },
    {
      "name": [
        "name 3"
      ],
      "url": [
        "www.bar.jp"
      ]
    }
  ]
}];
document.getElementById("foo").innerHTML = "How to explicitly get the url value?'";
loopThrough(a);

function loopThrough(obj) {
  for (var key in obj) {
    // skip loop if the property is from prototype
    if (!obj.hasOwnProperty(key)) continue;

    if (typeof obj[key] !== 'object') {
      console.log(obj[key]);
    } else {
      loopThrough(obj[key]);
    }
  }
}
<div id="foo">
</div>

如何访问此数组中的每个“url”元素?

也许还有比这更聪明的解决方案。

提前谢谢您。

最佳答案

a = [{
  "result": [{
      "name": [
        "name"
      ],
      "url": [
        "www.bar.com"
      ]
    },
    {
      "name": [
        "name 2"
      ],
      "url": [
        "www.bar.org"
      ]
    },
    {
      "name": [
        "name 1"
      ],
      "url": [
        "www.bar.biz"
      ]
    },
    {
      "name": [
        "name 3"
      ],
      "url": [
        "www.bar.jp"
      ]
    }
  ]
}];
loopThrough(a);

// Uses ES6 syntax
function loopThrough(obj) {
  obj[0].result.forEach(r => console.log(r.url[0]));
}

关于javascript - 无需键即可迭代 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693513/

相关文章:

javascript - 使用javascript获取JSON中真实值的计数

php - 计算 MySQL 中年份等于日期的行数 - JSON

javascript - 我想从字符串中删除特殊字符,但我需要 JavaScript 中字符串中的点

javascript - 当状态改变时,React-typing-animation 不会重新渲染

javascript - 在构造函数上调用 'new' 而不将其分配给变量

java - 如何将字符串数组的 ArrayList 转换为二维字符串数组

java - 如何在 java spring boot 中将字节数组作为内存文件返回?

python - 如何对数组中的numpy数组进行排序?

javascript - 主干 : Getting JSON file from server, 使用扩展 ".json"或不使用它,带有 url 或 urlRoot

Javascript——按照指定的对象属性顺序对对象数组进行排序