Javascript объект массива в массив из одной строки через запятую - PullRequest
0 голосов
/ 03 марта 2020

У меня есть ответ от моего API, который возвращает объект, который выглядит следующим образом.

{
    "global.edit": "Edit"
},
{
    "global.add": "Add"
},
{
    "lang.english": "English"
},
{
    "lang.french": "French"
},
{
    "menu.localGroups": "Label's groups"
},
{
    "menu.locals": "Labels"
}

Я пытаюсь добиться преобразования в разделенный массив запятых.

const MY_NEW_LOCALS_HERE = {
    "global.edit": "Edit",
    "global.add": "Add",
    "lang.english": "English",
    "lang.french": "French",
    "menu.localGroups": "Label's groups",
    "menu.locals": "Labels"
}

Таким образом, я могу добавить загруженные локальные объекты в React-Intl.

this.setState({
    localMessage: {
        ...this.state.localMessage,
        MY_NEW_LOCALS_HERE,
    }
})

Я часами пытался понять это, но просто не могу.

Любая помощь о том, как этого добиться?

Если я использую OBJECT.join(','), я получаю массив [объект объекта], [объект объекта].

1 Ответ

4 голосов
/ 03 марта 2020

Вы можете использовать деконструкцию с методом Reduce, чтобы поместить все ключи в один объект.

var temp = [{
    "global.edit": "Edit"
  },
  {
    "global.add": "Add"
  },
  {
    "lang.english": "English"
  },
  {
    "lang.french": "French"
  },
  {
    "menu.localGroups": "Label's groups"
  },
  {
    "menu.locals": "Labels"
  }
];

var result = temp.reduce((r,v)=>({...r, ...v}),{});

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...