Отображение ключа объекта: пара значений в массив массивов объектов для JSON - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь преобразовать следующий массив в то, что JSON может понять и иметь возможность добавлять одну и ту же пару ключ / значение к каждому массиву объектов, но я застрял в том, как это сделать.

Учитывая следующий массив объектов:

{
  "array": [
    {
      "Type": "Current",
      "Item1": "3",
      "Item2": "23",
      "Item3": "90",
      "Item4": null,
      "Year": "2019",
      "Amount": "100"
    },
    {
      "Type": "Current",
      "Item1": "3",
      "Item2": "23",
      "Item3": "90",
      "Item4": null,
      "Year": "2020",
      "Amount": "200"
    },
    {
      "Type": "Current",
      "Item1": "3",
      "Item2": "23",
      "Item3": "90",
      "Item4": null,
      "Year": "2021",
      "Amount": "300"
    },
    {
      "Type": "Change",
      "Item1": null,
      "Item2": null,
      "Item3": null,
      "Item4": null,
      "Year": "2019"
    },
    {
      "Type": "Change",
      "Item1": null,
      "Item2": null,
      "Item3": null,
      "Item4": null,
      "Year": "2020",
      "Amount": ""
    },
    {
      "Type": "Change",
      "Item1": null,
      "Item2": null,
      "Item3": null,
      "Item4": null,
      "Year": "2021",
      "Amount": ""
    }
  ]
}

Мне нужно добавить следующее к каждому массиву:

{Title : "title", id : "idNum"}

, чтобы он читался как:

{
  "Title": "title",
  "ID": "idNum",
  "Type": "Current",
  "Item1": "3",
  "Item2": "23",
  "Item3": "90",
  "Item4": null,
  "Year": "2019",
  "Amount": "100"
},
{
  "Title": "title",
  "ID": "idNum",
  "Type": "Current",
  "Item1": "3",
  "Item2": "23",
  "Item3": "90",
  "Item4": null,
  "Year": "2020",
  "Amount": "200"
},

и т. Д.

Я даже не уверен, является ли это на самом деле массивом массивов объектов, поскольку я немного догадываюсь о терминологии.В конце концов, мне нужно, чтобы это можно было обрабатывать как объект JSON для отправки в список SharePoint с помощью AJAX.

Нужно ли мне циклически проходить через каждый массив в массиве, а затем добавлять пары ключ / значение объекта?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете использовать Array.map и spread и не , чтобы изменить исходный массив:

const data = { "array": [ { "Type": "Current", "Item1": "3", "Item2": "23", "Item3": "90", "Item4": null, "Year": "2019", "Amount": "100" }, { "Type": "Current", "Item1": "3", "Item2": "23", "Item3": "90", "Item4": null, "Year": "2020", "Amount": "200" }, { "Type": "Current", "Item1": "3", "Item2": "23", "Item3": "90", "Item4": null, "Year": "2021", "Amount": "300" }, { "Type": "Change", "Item1": null, "Item2": null, "Item3": null, "Item4": null, "Year": "2019" }, { "Type": "Change", "Item1": null, "Item2": null, "Item3": null, "Item4": null, "Year": "2020", "Amount": "" }, { "Type": "Change", "Item1": null, "Item2": null, "Item3": null, "Item4": null, "Year": "2021", "Amount": "" } ] } 

result = data.array.map(x => ({ Title: 'Title', ID: 'idNum', ...x}))

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