[英]Mapping in map in json response
I need to parse json api response, with response.data equals:我需要解析 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"}
]
and I need to return one array[String] with all subcategories, ex ["web-development", "backend-development"... "3D modeling"]我需要返回一个包含所有子类别的数组[String],例如 ["web-development", "backend-development"..."3D modeling"]
All that I did is:我所做的只是:
let subs = categories.data.map(function(category) {
return category.subcategories.map(function(subcategory) {
return subcategory.name
})
})
and it returns Array of arrays with categories.它返回带有类别的 arrays 数组。 Im sure, that there near a better and easier way.我敢肯定,那里有更好更简单的方法。 Thanks!谢谢!
You can get a flat array by replacing:您可以通过替换得到一个平面数组:
categories.data.map
with和
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.