@ART4

Как можно соединить 2 многомерных массива по ключу?

Добрый день, 2 день голову ломаю как соединить 2 многомерных массива.
1 массив:
let bublic = [
  {id: 1,  stock: [160]},
  {id: 2,  stock: [33, 47]}
];

2 массив:
let apple = [
  {id: 34,  stock: [55]},
  {id: 51,  stock: [23, 47]}
];

Если stock хотя бы 1 равны, тогда на выходе:
let bublic = [
  {id: 2, apple: 51  stock: [55]}
];

Пробовал через for, но их много получается внутри, так как stock - массив... Подскажите как сделать пожалуйста.
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
bublic.forEach(item => {
  const { stock } = item;
  for (const candidate of stock) {
    const appleId = apple.find(appleItem => appleItem.stock.includes(candidate))?.id;
    if (appleId !== undefined) {
      item.appleId = appleId;
      break;
    }
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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