vikkyshostak
@vikkyshostak
< This head full of dreams.

Сравнение двух JSON массивов и замена дубликатов на современном JavaScript (ES6)?

Доброго времени года.

Есть два огромных JSON массива с товарными позициями, который прилетает с бэкенда. Первый — общий для всех пользователей список товаров, цен и модификаций. Второй — персональный для каждого пользователя, где может быть своя цена на любую товарную модификацию.

Первый (главный) имеет вид:

[
    {
        "id": 1,
        "name": "Межкомнатная дверь",
        "price_list": [
            [ 0, 1, 2, 3, 8300 ],
            // где:
            // 0 — ID типоразмера, 1 — ID цвета, 2 — ID коллекции, 
            // 3 — ID стиля, 8300 — цена в руб.
            // + ещё несколько модификаций этой же двери 
            // с ценой в таком же формате
        ]
    },
    {
        // ... следующие 100500 дверей с модификациями и ценами
    }
]

Второй (второстепенный) имеет вид:

[
    {
        "id": 1,
        "name": "Межкомнатная дверь",
        "user_id": 1, // ID пользователя, у которого своя колонка цен на сайте
        "price_list": [
            [ 0, 1, 2, 3, 4300 ] // своя цена только на эту модель двери и всё
        ]
    }
]

Подскажите, пожалуйста, как я могу сделать сравнение этих JSON массивов и заменить обнаруженные дубликаты в первом (общие) на те, что во втором (пользовательские)?

К сожалению, на бэкенде это нельзя сделать, поэтому приходится плясать от того, что есть — от фронта.


Буду рад толковым комментариям.
Заранее спасибо!
  • Вопрос задан
  • 303 просмотра
Решения вопроса 1
@vshvydky
что-то из подобного
либо перебирай массивы сам типо как-то так:
Arr = Arr1.map(el=>Arr2.find(el2=>el2.id === el.id) || el)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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