好吧,我需要在Object
内放置一个数组串联。
因此,我制定的有效解决方案是:
const usersList = {
tester: [{ id: 1, //... }, //...],
custumers: [{ id: 1, //... }, //...],
admin: [{ id: 1, //... }, //...]
}
let allUsers = []
Object.keys(usersList).forEach(listKey => {
allUsers = [
...allUsers,
...usersList[listKey]
]
})
return allUsers
此外,我想知道也许存在一种新颖的方式来处理这种情况吗?我尝试了这个,但是没有用:
[...Object.keys(usersList).map(listKey => usersList[listKey])]
最佳答案
取对象的值,它将为您提供一个数组数组,然后展平:
const allUsers = Object.values(usersList).flat();
如果您不能使用
.flat
,则:const allUsers = [].concat.apply(...Object.values(usersList));