@kikosko

Как объединить два массива в один?

// Первый массив
const defaultTest = [{
    main: "first1",
    references: [
        { something: "something1" },
        { something: "something2" },
    ]
}]

// Второй массив
const systemTest = [{
    main: "first2",
    references: [
        { something: "something11" },
        { something: "something22" },
    ]
}]

// То что я хочу получить на выходе 
const test = [
    { something: "something1", main: "first1", defaultTest: true },
    { something: "something2", main: "first1", defaultTest: true },
    { something: "something11", main: "first2", systemTest: true },
    { something: "something22", main: "first2", systemTest: true },
]
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
mmmaaak
@mmmaaak
const test = [
  ...defaultTest.references.map(({ something }) => ({ something, main: defaultTest.main, defaultTest: true })),
  ...systemTest.references.map(({ something }) => ({ something, main: systemTest.main, systemTest: true })),
];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
Object
  .entries({ defaultTest, systemTest })
  .map(([ k, v ]) => v.map(({ references, ...n }) => references.map(m => ({
    ...m,
    ...n,
    [k]: true,
  }))))
  .flat(2)
Ответ написан
Ваш ответ на вопрос

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

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