Задать вопрос
@hinie

Как сделать алгоритм добавления елементов?

Здравствуйте, есть массив строк["name0", "name1", "name2"]
Есть массив объектов
[{name:"name0"}, {name:"name1"}]
Как написать алгоритм который в случае несуществования в массиве обєктов какого-либо поля из массива строк добавит туда (в массив обєктов) что-то типа {name: "missedName"} (missedName - поле из массива строк которого не хватает)
Можно ли такое реализовать чем-то более оптимизированным чем пузыриком?
  • Вопрос задан
  • 112 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
new Set(strings).forEach(function(n) {
  this.has(n) || objects.push({ name: n });
}, new Set(objects.map(n => n.name)));

или

for (const name of strings) {
  if (objects.every(n => n.name !== name)) {
    objects[objects.length] = { name };
  }
}

или

objects.splice(0, objects.length, ...strings.reduce(
  (acc, n) => acc.set(n, acc.get(n) ?? { name: n }),
  new Map(objects.map(n => [ n.name, n ]))
).values());
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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