javascript - 返回json中数组的所有值

标签 javascript json es5-shim

我有一个包含我博客所有帖子的 json,我想返回“标签”数组的所有值。所以,请看下面的 json 示例:

"posts":[
  {
     "id":"89319077059",
     "title":"Post Title 01",
     "tags":[
        "Politcs",
        "Science",
     ]
  },
  {
     "id":"89318918989",
     "title":"Post Title 02",
     "tags":[
        "Football",
        "Soccer",
     ]
  },
]

所以,我需要在循环中获取唯一的标签值,例如:

for (var i = 0; i < posts.length; i++) {
    console.info("Here [i = 0] should be show the Politcs and Science and after [i = 1] show Football and Soccer");
}

我尝试创建另一个循环来搜索标签并使用标签[1]、标签[2] 等,但没有成功。

var tags = [];

for (var tag in posts[i].tags) {
     tags.push(tag);
}

有什么想法吗?

最佳答案

如果我理解的很好,你可以使用

  • 循环:

    var tags = [];
    for (var i = 0; i < posts.length; ++i) {
         tags.push(posts[i].tags);
    }
    
  • ES5 map :

    var tags = posts.map(function(post){
        return post.tags;
    });
    
  • ES5 map + ES6 arrow functions :

    var tags = posts.map(post => post.tag);
    

关于javascript - 返回json中数组的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344803/

相关文章:

javascript - 在 JavaScript 中分割字符串

javascript - Html.BeginForm 处理多个按钮和 Javascript 验证

javascript - 使用 Ajax jQuery 实时搜索 JSON 数据不起作用?

javascript - Json 字符串化然后从 URL 解析

javascript - 返回多维数组 0 的函数

javascript - 比较两个数组值(如果包含)并获取差异

javascript - 从 mysql 渲染复杂的 JSON 并使用列值作为标签

javascript - PouchDB 无法在 IE8 中运行

javascript - Object.defineProperty polyfill

javascript - 检查 javascript 是否加载了 es5-shim.js?那是为了ie8