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到一个新数组,想看看 有没有更好的方法
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到一个新数组,想看看 有没有更好的方法
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...
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
两层遍历免不了吧
不然骚操作一点,就转成json字符串然后匹配出
"rec_id":xxx
了。