javascript - JS : Nested for loop while parsing JSON

标签 javascript json loops for-loop

for (kind in animals) {
  content += animals[kind][0].name + '<br>';
}

这会从我的 JSON 中返回每种动物的名字。我正在努力获取所有名称而不仅仅是 [0]。由于似乎没有像 [*] 这样的简单通配符,我尝试在第一个 for 循环中放入第二个 for 循环,如下所示:

for (var kind in animals) {
  for (var i in kind) {
    content += animals[kind][i].name + '<br>';
  }
}

但正如它应该的那样,这根本行不通。

我知道使用 Underscore.JS 之类的东西可以轻松完成此任务,但我真的很想仅使用纯 Vanilla 来完成。

最佳答案

AFAIU animals[kind] 是一个数组。 在这种情况下,您可以使用 forEach而不是嵌套循环(这在您的代码中是错误的)。

for (var kind in animals) {
  animals[kind].forEach(function(v) {
    content += v.name + '<br>';
  });
}

关于javascript - JS : Nested for loop while parsing JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31750716/

相关文章:

javascript - QUnit 测试返回 "TypeError: undefined is not a function"

javascript - reduce() 和 find() 抛出 TypeError - 无法读取未定义的属性 'find'

javascript - JSON 到客户端的 ASP.NET 脚本服务的字符串?

json - 解码动态 JSON,忽略已知字段

arrays - Lisp 变量未绑定(bind)

javascript - 从数组中删除相似的对象

javascript - 按下 React-Native 按钮不起作用

json - 比较 MariaDB 中的 JSON 值

java - 在循环中创建新对象的效率

python - 对 for 循环中变量的不同迭代进行平均