Как конвертировать javascript массив объектов в объект объектов? - PullRequest
0 голосов
/ 25 марта 2020

Итак, у меня есть текущий javascript массив

const oldData = [
             {
              "id":1,
              "Name":"test1",
              "Value":"abc"
             },
             {
              "id":2,
              "Name":"test2",
              "Value":"abc"
             },
             {
              "id":3,
              "Name":"test3",
              "Value":"xyz"
             },
            ]

, и я хочу преобразовать его во что-то похожее на это:

const newData = {
             {
              "id":1,
              "Name":"test1",
              "Value":"abc"
             },
             {
              "id":2,
              "Name":"test2",
              "Value":"abc"
             },
             {
              "id":3,
              "Name":"test3",
              "Value":"xyz"
             },
            }

Кроме того, делает ли это объект имеет конкретное c имя?

Я попробовал следующее:

const newData = await { ...oldData };

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Ваш ожидаемый результат недопустим Javascript объект. Вам нужно добавить ключи для вложенных объектов. Например:

const newData = {
             0: {
              "id":1,
              "Name":"test1",
              "Value":"abc"
             },
             1: {
              "id":2,
              "Name":"test2",
              "Value":"abc"
             },
             2: {
              "id":3,
              "Name":"test3",
              "Value":"xyz"
             },
            }

Также ждать не нужно. Используется для асинхронных действий.

0 голосов
/ 25 марта 2020

То, что вы пытаетесь получить, недействительно json. У объекта всегда есть ключ к значению.

Вы можете использовать Object.assign:

Object.assign({}, [
             {
              "id":1,
              "Name":"test1",
              "Value":"abc"
             },
             {
              "id":2,
              "Name":"test2",
              "Value":"abc"
             },
             {
              "id":3,
              "Name":"test3",
              "Value":"xyz"
             },
            ]);

Вывод будет

{
  "0": {
    "id": 1,
    "Name": "test1",
    "Value": "abc"
  },
  "1": {
    "id": 2,
    "Name": "test2",
    "Value": "abc"
  },
  "2": {
    "id": 3,
    "Name": "test3",
    "Value": "xyz"
  }
}
...