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 массивов и заменить обнаруженные дубликаты в первом (общие) на те, что во втором (пользовательские)?

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


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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект