Javascript 如何在嵌套数组中获取项
我有这样一个数组:Javascript 如何在嵌套数组中获取项,javascript,arrays,angular,typescript,Javascript,Arrays,Angular,Typescript,我有这样一个数组: [ { "id": 1, "name": "Vehicle", "subCategories": [ { "subCategoryId": 1, "subCategoryName": "Car" } ] }, { "id": 2, "name": "Delivery", "subCategories": [ { "subCat
[
{
"id": 1,
"name": "Vehicle",
"subCategories": [
{
"subCategoryId": 1,
"subCategoryName": "Car"
}
]
},
{
"id": 2,
"name": "Delivery",
"subCategories": [
{
"subCategoryId": 1,
"subCategoryName": "Furniture"
}
]
},
{
"id": 3,
"name": "Home Services",
"subCategories": [
{
"subCategoryId": 1,
"subCategoryName": "Lawn Mowing"
}
]
}
]
我想从一个称为子类别的数组中的所有类别中获取所有子类别
我尝试过映射、还原、concat等,但似乎无法获得预期的结果。您可以使用destructuring从每个对象中提取
子类别
数组,然后使用.flatMap
将其展平为如下所示的数组:
const arr=[{id:1,名称:“车辆”,子类别:[{subCategoryId:1,子类别名称:“汽车”}],{id:2,名称:“交付”,子类别:[{subCategoryId:1,子类别名称:“家具”}],{id:3,名称:“家庭服务”,子类别:[{subCategoryId:1,子类别名称:“割草”}];
const subcategories=arr.flatMap(({subcategories})=>subcategories);
console.log(子类别)
您可以使用destructuring从每个对象中提取子类别
数组,然后使用.flatMap
将其展平为如下数组:
const arr=[{id:1,名称:“车辆”,子类别:[{subCategoryId:1,子类别名称:“汽车”}],{id:2,名称:“交付”,子类别:[{subCategoryId:1,子类别名称:“家具”}],{id:3,名称:“家庭服务”,子类别:[{subCategoryId:1,子类别名称:“割草”}];
const subcategories=arr.flatMap(({subcategories})=>subcategories);
console.log(子类别)代码>根据浏览器支持需要,您可能需要使用polyfill,但这正是flatMap
的优点:
假设示例数据位于名为data
的变量中,调用
data.flatMap(item => item.subcategories);
根据您的浏览器支持需要,您可能需要使用polyfill,但这正是flatMap
最适合的功能:
假设示例数据位于名为data
的变量中,调用
data.flatMap(item => item.subcategories);