我如何将数据对象传输到数组

时间:2019-06-04 10:42:32

标签: reactjs react-native

嘿,我有一个小问题,我在Firebase中有一个像这样的数据库

{ 
 0001: {
      name : ....,
      image: .... 
     },
 0002: {
       name: .... , 
       image: ...
    }
}

我想将其与平面列表一起使用,但是当我使用object.values传输数据时,我丢失了我的id,而object.entries也没有给我任何东西 Object.values(数据);  有没有办法像这样从该数据创建数组?

 {id ,
  name ,
  image}

并把它放到我的平面列表中,因为我想单击某个项目时打开新窗口并发送id id应该是键号0001 0002 ......

3 个答案:

答案 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)