forEach和map函数迭代对象的嵌套json数组并创建一个新数组
我试图遍历每个结果,获取嵌套的forEach和map函数迭代对象的嵌套json数组并创建一个新数组,json,multidimensional-array,ecmascript-6,Json,Multidimensional Array,Ecmascript 6,我试图遍历每个结果,获取嵌套的uoms.unit\u name并将它们注入一个新数组。下面是我的非工作代码。先谢谢你 var res=[ { "id":1, "type_name":"Weight", "type_abbr":"wt", "uoms":[ { "id":1, "unit_abbr":"sh tn",
uoms.unit\u name
并将它们注入一个新数组。下面是我的非工作代码。先谢谢你
var res=[
{
"id":1,
"type_name":"Weight",
"type_abbr":"wt",
"uoms":[
{
"id":1,
"unit_abbr":"sh tn",
"unit_name":"Short Tons",
"created_at":"2017-06-07 00:35:06",
"updated_at":"2018-05-24 23:34:25",
"uom_type_id":1
},
{
"id":3,
"unit_abbr":"g",
"unit_name":"Grams",
"created_at":"2017-06-07 00:35:06",
"updated_at":"2018-05-24 23:34:25",
"uom_type_id":1
}
]
}
]
您可以使用
reduce
和map
:
var res=[{
“id”:1,
“类型名称”:“重量”,
“类型_缩写”:“wt”,
“计量单位”:[{
“id”:1,
“单位缩写”:“sh tn”,
“单位名称”:“短吨”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:1
},
{
“id”:3,
“单位”缩写为“g”,
“单位名称”:“克”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:1
}
]
},
{
“id”:2,
“类型名称”:“重量”,
“类型_缩写”:“wt”,
“计量单位”:[{
“id”:11,
“单位缩写”:“sh tn”,
“装置名称”:“短吨2”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:11
},
{
“id”:31,
“单位”缩写为“g”,
“单位名称”:“克2”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:31
}
]
}
]
console.log(res.reduce((a,r)=>[…a,…r.uoms.map(u=>u.unit\u name)],[])
您可以将reduce
与map
一起使用:
var res=[{
“id”:1,
“类型名称”:“重量”,
“类型_缩写”:“wt”,
“计量单位”:[{
“id”:1,
“单位缩写”:“sh tn”,
“单位名称”:“短吨”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:1
},
{
“id”:3,
“单位”缩写为“g”,
“单位名称”:“克”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:1
}
]
},
{
“id”:2,
“类型名称”:“重量”,
“类型_缩写”:“wt”,
“计量单位”:[{
“id”:11,
“单位缩写”:“sh tn”,
“装置名称”:“短吨2”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:11
},
{
“id”:31,
“单位”缩写为“g”,
“单位名称”:“克2”,
“创建时间”:“2017-06-07 00:35:06”,
“更新时间”:“2018-05-24 23:34:25”,
“计量单位类型标识”:31
}
]
}
]
console.log(res.reduce((a,r)=>[…a,…r.uoms.map(u=>u.unit\u name)],[]))
res.forEach((uom) => {
const uomsArr = uom.uoms.map(uoms => uoms.uoms);
});