Javascript 从数组中的对象的数组中获取字符串值

Javascript 从数组中的对象的数组中获取字符串值,javascript,json,mapping,Javascript,Json,Mapping,我有以下JSON对象: var测试={ 数据:[{ itemID:0, 类别:[{ id:0, 键入:“a”, 名称:“世界” }, { id:1, 类型:“b”, 名称:“植物” }] }, { 项目编号:1, 类别:[{ id:2, 类型:“w”, 名称:“汽车” }, { id:3, 类型:“t”, 名称:“自行车” }] } ] }; console.log([].concat .apply([],test.data.map(item=>item.categories.map(el=>

我有以下JSON对象:

var测试={
数据:[{
itemID:0,
类别:[{
id:0,
键入:“a”,
名称:“世界”
}, {
id:1,
类型:“b”,
名称:“植物”
}]
},
{
项目编号:1,
类别:[{
id:2,
类型:“w”,
名称:“汽车”
}, {
id:3,
类型:“t”,
名称:“自行车”
}]
}
]
};
console.log([].concat
.apply([],test.data.map(item=>item.categories.map(el=>el.type)))使用

var test={data:[{itemID:0,categories:[{id:0,type:'a',name:'world'},{id:1,type:'b',name:'plants'}]},{itemID:1,categories:[{id:2,type:'w',name:'cars'},{id:3,type:'t',name:'bicycles'}]};
让result=test.data.reduce((a,c)=>a.concat(c.categories.map(v=>v.type)),[]);
控制台日志(结果)您可以使用和:

flat()
方法创建一个新数组,其中所有子数组元素递归连接到该数组中,直到指定的深度

其中,深度是可选的

指定嵌套数组结构应展平的深度级别。默认值为1

var测试={
数据:[{
itemID:0,
类别:[{
id:0,
键入:“a”,
名称:“世界”
}, {
id:1,
类型:“b”,
名称:“植物”
}]
},
{
项目编号:1,
类别:[{
id:2,
类型:“w”,
名称:“汽车”
}, {
id:3,
类型:“t”,
名称:“自行车”
}]
}
]
};
var type=test.data.map(item=>item.categories.map(el=>el.type)).flat();
console.log(类型)