Как преобразовать объект Firebase в массив? - PullRequest
0 голосов
/ 21 октября 2018

Я использую 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'},
];

В данный момент я могу звонить из базы огня с помощью axious, как это:

axios.get('firebaseURL').then(response => {console.log(response.data)});

Ответы [ 3 ]

0 голосов
/ 21 октября 2018

Вы можете использовать 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]} 
});
0 голосов
/ 25 апреля 2019

вы можете попробовать это с помощью этого пакета 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
0 голосов
/ 21 октября 2018

Проверьте этот ответ .

const array = [];

Object.keys(yourObject).forEach((key) => {
  array.push({[key]: object1[key]});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...