嘿,我有一个小问题,我在Firebase中有一个像这样的数据库
{
0001: {
name : ....,
image: ....
},
0002: {
name: .... ,
image: ...
}
}
我想将其与平面列表一起使用,但是当我使用object.values传输数据时,我丢失了我的id,而object.entries也没有给我任何东西 Object.values(数据); 有没有办法像这样从该数据创建数组?
{id ,
name ,
image}
并把它放到我的平面列表中,因为我想单击某个项目时打开新窗口并发送id
id
应该是键号0001
0002
......
答案 0 :(得分:2)
您可以使用reduce
https://developer.mozilla.org/vi/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
Object.keys(data).reduce((result, key) => {
return result.concat({id: key, ...data[key]})
}, [])
答案 1 :(得分:1)
如果需要的另一种方式:
Object.values(data).map((obj, i) => ({ id: Object.keys(data)[i], ...obj}));
答案 2 :(得分:0)
您可以使用Object.entries(data)
将返回an array of [key, value] pairs
var data = {
0001: {
name : "",
image: ""
},
0002: {
name: "" ,
image: ""
}
}
然后尝试致电
Object.entries(data)