我正在将Firebase与axios一起使用。 我需要转换此对象:
{r1: "Room 1", r2: "Room 2", r3: "Room 3"}
放入数组:
rooms = [
{ id: 'r1', name: 'Room 1'},
{ id: 'r2', name: 'Room 2'},
{ id: 'r3', name: 'Room 3'},
];
目前,我很焦虑地从firebase进行呼叫,如下所示:
axios.get('firebaseURL').then(response => {console.log(response.data)});
答案 0 :(得分:1)
您可以将Object.keys(rooms)
与map()
一起使用-Object.keys
返回包含所有对象键的数组,而map
函数除每个键之外,将返回您所需要的任何内容将该键放入一个新数组中。
因此,在Object.keys(rooms)
下面的代码段中,它等于[ 'r1', 'r2', 'r3' ]
,因此很容易构造所需的数组。
const rooms = {r1: "Room 1", r2: "Room 2", r3: "Room 3"};
const arrayResult = Object.keys(rooms).map(room => {
return {id: room, name: rooms[room]}
});
答案 1 :(得分:0)
查看此answer。
const array = [];
Object.keys(yourObject).forEach((key) => {
array.push({[key]: object1[key]});
});
答案 2 :(得分:0)
您可以使用此软件包https://github.com/just1and0/object-to-array-convert
尝试一下import { O2A } from 'object-to-array-convert';
const rooms = {r1: "Room 1", r2: "Room 2", r3: "Room 3"};
const value = O2A(rooms);
return value