如何从第一级和第二级数组获取IDS列表-Javascript

永席尔瓦

我在json / javascript中具有以下结构

{
  "comments": [
    {
      "id": 1,
      "content": "lorem ipsum",
      "answers": []
    },
    {
      "id": 2,
      "content": "lorem ipsum",
      "answers": [
        {
          "id": 30,
          "content": "lorem ipsum"
        }
      ]
    },
    {
      "id": 3,
      "content": "lorem ipsum",
      "answers": [
        {
          "id": 99,
          "content": "lorem ipsum"
        },
        {
          "id": 103,
          "content": "lorem ipsum"
        }
      ]
    },
    {
      "id": 5,
      "content": "comment",
      "answers": []
    }
  ]
}

我需要创建一个包含所有评论的ID的数组,包括答案类型的评论

最终应该看起来像这样

[1, 2, 3, 5, 30, 99, 103]

注:我可以只使用mapreducefilter

谁能帮我这个?

提前致谢

布莱克斯

如果还可以使用flat

const data = {comments:[{id:1,content:"lorem ipsum",answers:[]},{id:2,content:"lorem ipsum",answers:[{id:30,content:"lorem ipsum"}]},{id:3,content:"lorem ipsum",answers:[{id:99,content:"lorem ipsum"},{id:103,content:"lorem ipsum"}]},{id:5,content:"comment",answers:[]}]};

function findIds(obj) {
  return obj.comments.map(com => {
    return [ com.id, ...com.answers.map(ans => ans.id) ]
  })
  .flat()
  .sort((a, b) => a - b);
}

console.log( findIds(data) ); // [1,2,3,5,30,99,103]

否则,只需使用mapreduce

const data = {comments:[{id:1,content:"lorem ipsum",answers:[]},{id:2,content:"lorem ipsum",answers:[{id:30,content:"lorem ipsum"}]},{id:3,content:"lorem ipsum",answers:[{id:99,content:"lorem ipsum"},{id:103,content:"lorem ipsum"}]},{id:5,content:"comment",answers:[]}]};

function findIds(obj) {
  return obj.comments.reduce((res, com) => {
    return [ ...res, com.id, ...com.answers.map(ans => ans.id) ]
  }, [])
  .sort((a, b) => a - b);
}

console.log( findIds(data) ); // [1,2,3,5,30,99,103]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在laravel中通过hasMAny的第一级获取第二级hasMany关系

来自分类Dev

如何使用jQuery each()在JSON数据中获取第二级数组值

来自分类Dev

使用第一级和第二级重试与 Rebus 测试 Handle 和 Handle<IFailed> 方法

来自分类Dev

如何强制将熊猫数据框的第二级添加到第一级?

来自分类Dev

转到JSON中的第二级数组

来自分类Dev

动作脚本3.如何控制第二级数组中的元素?

来自分类Dev

如何从Stripe JSON对象获取第二级数据

来自分类Dev

猫鼬:如何在不填充第一级字段的情况下填充第二级深层人口?在mongodb中

来自分类Dev

猫鼬:如何在不填充第一级字段的情况下填充第二级深层人口?在mongodb中

来自分类Dev

如何在展开的高级图表中将第一级作为柱形图,将第二级作为固定放置柱

来自分类Dev

如何下载种子内第一或第二级页面引用的pdf文件

来自分类Dev

要更新MongoDB中的第二级数组对象

来自分类Dev

htaccess将子文件夹(第二级)中的文件重写到文件夹(第一级)

来自分类Dev

如何从第二级父级访问元素?

来自分类Dev

Javascript JSON仅序列化第一级

来自分类Dev

Javascript JSON仅序列化第一级

来自分类Dev

如何仅使用JavaScript的stringify()方法在第一级上自定义JSON输出?

来自分类Dev

在PHP中获取JSON数据的第二级

来自分类Dev

选择第二级的第一个孩子

来自分类Dev

HTML和CSS第二级下拉

来自分类Dev

如何强制第二级多重索引的值?

来自分类Dev

JSON配对-如何显示第二级ListView

来自分类Dev

CheckedListBox中的第二级

来自分类Dev

如何在Pandas DataFrame中将第二级索引更改为第二级列?

来自分类Dev

方案:如何仅在列表的第二级中删除元素?

来自分类Dev

如何使用PHP在第二级对JSON数组进行排序

来自分类Dev

如何显示多维数组第二级的 json 值?

来自分类常见问题

如何使用jq使用关键变量获取json文件的第二级值

来自分类Dev

如何使用jq使用关键变量获取json文件的第二级值

Related 相关文章

  1. 1

    如何在laravel中通过hasMAny的第一级获取第二级hasMany关系

  2. 2

    如何使用jQuery each()在JSON数据中获取第二级数组值

  3. 3

    使用第一级和第二级重试与 Rebus 测试 Handle 和 Handle<IFailed> 方法

  4. 4

    如何强制将熊猫数据框的第二级添加到第一级?

  5. 5

    转到JSON中的第二级数组

  6. 6

    动作脚本3.如何控制第二级数组中的元素?

  7. 7

    如何从Stripe JSON对象获取第二级数据

  8. 8

    猫鼬:如何在不填充第一级字段的情况下填充第二级深层人口?在mongodb中

  9. 9

    猫鼬:如何在不填充第一级字段的情况下填充第二级深层人口?在mongodb中

  10. 10

    如何在展开的高级图表中将第一级作为柱形图,将第二级作为固定放置柱

  11. 11

    如何下载种子内第一或第二级页面引用的pdf文件

  12. 12

    要更新MongoDB中的第二级数组对象

  13. 13

    htaccess将子文件夹(第二级)中的文件重写到文件夹(第一级)

  14. 14

    如何从第二级父级访问元素?

  15. 15

    Javascript JSON仅序列化第一级

  16. 16

    Javascript JSON仅序列化第一级

  17. 17

    如何仅使用JavaScript的stringify()方法在第一级上自定义JSON输出?

  18. 18

    在PHP中获取JSON数据的第二级

  19. 19

    选择第二级的第一个孩子

  20. 20

    HTML和CSS第二级下拉

  21. 21

    如何强制第二级多重索引的值?

  22. 22

    JSON配对-如何显示第二级ListView

  23. 23

    CheckedListBox中的第二级

  24. 24

    如何在Pandas DataFrame中将第二级索引更改为第二级列?

  25. 25

    方案:如何仅在列表的第二级中删除元素?

  26. 26

    如何使用PHP在第二级对JSON数组进行排序

  27. 27

    如何显示多维数组第二级的 json 值?

  28. 28

    如何使用jq使用关键变量获取json文件的第二级值

  29. 29

    如何使用jq使用关键变量获取json文件的第二级值

热门标签

归档