假设我有一个对象:
cocoapods
我想将所有这些数组合并到一个数组中。 我知道我可以使用下一个代码:
let obj={
hash1:{
images:[img1,img2....]
}
hash2:{
images:[img100,img200....]
}
hash3:{
images:[img1000,img2000....]
}
...
}
是否有更优雅的方式来执行此类任务,例如使用某种框架或一行编码。
答案 0 :(得分:4)
数组缩减在这里做得非常好:
let union = Object.values(obj).reduce((c, i) => c.concat(i.images), []);
答案 1 :(得分:0)
您可以在map()
和ES6传播语法上使用Object.keys()
。
let obj = {"hash1":{"images":["img1","img2"]},"hash2":{"images":["img100","img200"]},"hash3":{"images":["img1000","img2000"]}}
var arr = [].concat(...Object.keys(obj).map(e => obj[e].images));
console.log(arr)

答案 2 :(得分:0)
使用Array#map
。
const union = [].concat(...Object.values(obj).map(v => v.images));