请问如何拿出这个数组对象的值 组成新的数组?
let good_list = [ {
cart_goods:[{rec_id:'123'},{rec_id:'456'}]
},
{
cart_goods:[{rec_id:'789'},{rec_id:'555'}]
}
]
想要的结果:
["123","456","789","555"]
其实我感觉我自己取的方法,有点乱,用了两层map遍历,然后又把item.rec_id push到一个新数组,想看看 有没有更好的方法
回答:
两层遍历免不了吧
const result = good_list.reduce((pre, cur) => { return pre.concat(cur.cart_goods.map(item=>item.rec_id))
}, [])
不然骚操作一点,就转成json字符串然后匹配出 "rec_id":xxx
了。
回答:
good_list.flatMap(goods=>goods.cart_goods.map(good=>good.rec_id))// ['123', '456', '789', '555']
Array.prototype.flatMap()
flatMap() 方法对数组中的每个元素应用给定的回调函数,然后将结果展开一级,返回一个新数组。它等价于在调用 map() 方法后再调用深度为 1 的 flat() 方法(arr.map(...args).flat()),但比分别调用这两个方法稍微更高效一些。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer...
以上是 请问如何拿出这个数组对象的值 组成新的数组? 的全部内容, 来源链接: utcz.com/p/934403.html