@qwentry

Как сделать формат данных в цикле?

Есть формат данных, которые принимает сервис.
{
  "ID": "id",
  "product": [
    {
      "type": "Apple",
      "country": {
        "country": "RU",
        "city": ["city1", "city2"]
      },
      "options": {
        "weight": "500kg"
      }
    }
  ]
}


И есть данные в формате:
[{"weight": "673kg", "city1": "Moscow", "city2": "Spb"},
    {"weight": "103kg", "city1": "Sochi", "city2": "Krasnodar"},
    {"weight": "73kg", "city1": "Rostov", "city2": "Voronezh"}]


Как мне в цикле пробежаться или как-то иначе, что бы подставить данные weight и city по нужным местам и на выходе получить:
{
  "ID": "id",
  "product": [
    {
      "type": "Apple",
      "country": {
        "country": "RU",
        "city": ["Moscow", "Spb"]
      },
      "options": {
        "weight": "673kg"
      }
    },{
      "type": "Apple",
      "country": {
        "country": "RU",
        "city": ["Sochi", "Krasnodar"]
      },
      "options": {
        "weight": "103kg"
      }
    },{
      "type": "Apple",
      "country": {
        "country": "RU",
        "city": ["Rostov", "Voronezh"]
      },
      "options": {
        "weight": "73kg"
      }
    }
  ]
}
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
const clone = (data, replacements) =>
  data instanceof Object
    ? data instanceof Array
      ? data.map(n => clone(replacements?.hasOwnProperty(n) ? replacements[n] : n, replacements))
      : Object.fromEntries(Object.entries(data).map(([ k, v ]) => [
          k,
          clone(replacements?.hasOwnProperty(k) ? replacements[k] : v, replacements)
        ]))
    : data;


const products = arr.map(n => clone(obj.product[0], n));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы