Kazklesh
@Kazklesh
Учусь фронтэндить

Как отсортировать объекты по id?

Есть 2 объекта с БД
630ebd577f45d310152329.png
и
630ebb9da4655448094399.png
и эти два надо объединить в одну чтобы получилось как то так
const options = {
    {
        id: 1,
        name: "ГОСТ",
        slug: "gost",
        values: {
            {
                id: 10,
                value: "SOMEVALUE"
            }
        }
    }
}


и если у одного option есть несколько повторяющихся option_value то добавляется в объект только один (чтобы одинаковые поля value не повторялись)
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
const mapOptions = (options, values) => option.map(({ option }) => {
    const usedValues = new Set();
    return {
        id: option.id,
        name: option.name,
        slug: option.slug,
        values: values.reduce((acc, { id, value }) => {
            if (id === option.id && !usedValues.has(value)) {
                usedValues.add(value);
                acc.push({ id, value });
            }

            return acc;
        }, [])
    };
});

console.log(mapOptions(options, option_values));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы