簡體   English   中英

json 響應中 map 中的映射

[英]Mapping in map in json response

我需要解析 json api 響應,response.data 等於:

[
    {
      "name": "Programming",
      "subcategories": [
        {"name": "web-development"},
        {"name": "backend-development"},
        {"name": "data-scince"}
      ]
    },{
      "name": "Design",
      "subcategories": [
        {"name": "Graphic-design"},
        {"name": "Motion-design"},
        {"name": "3D modeling"}
  ]

我需要返回一個包含所有子類別的數組[String],例如 ["web-development", "backend-development"..."3D modeling"]

我所做的只是:

let subs = categories.data.map(function(category) {
                    return category.subcategories.map(function(subcategory) {
                        return subcategory.name
                    })
                    })

它返回帶有類別的 arrays 數組。 我敢肯定,那里有更好更簡單的方法。 謝謝!

您可以通過替換得到一個平面數組:

categories.data.map

categories.data.flatMap

 let data = [{ "name": "Programming", "subcategories": [{ "name": "web-development" }, { "name": "backend-development" }, { "name": "data-scince" } ] }, { "name": "Design", "subcategories": [{ "name": "Graphic-design" }, { "name": "Motion-design" }, { "name": "3D modeling" } ] }] let subs = data.flatMap(function(category) { return category.subcategories.map(function(subcategory) { return subcategory.name }) }) console.log(subs)

嘗試使用數組flatMap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM