Перебрать 2 списка и удалить совпадения

Поддержка
  • Привет, подскажите кто-то как сделать: Есть 2 списка (list 1(1000 значений), list2(300 значений)), каждый список содержит некоторые одинаковые значения типа имени: в первом списке [name: "Bob", age: 35], во втором [name: "Bob", profession: "Engineer"] . Мне нужно чтобы на выходе у меня выдал результат из списка 1 где нет совпадений по имени из списка 2

  • Вот что ИИ выдала, не работает, не знаю как подправить правильно.
    var list1 = [
    { name: "John", age: 25 },
    { name: "Alice", age: 30 },
    { name: "Bob", age: 35 }
    ];

    var list2 = [
    { name: "Alice", profession: "Engineer" },
    { name: "David", profession: "Teacher" }
    ];

    var namesToRemove = list2.map(function(obj) {
    return obj.name; // Получаем значения переменной name из второго списка
    });

    list1 = list1.filter(function(obj) {
    return !namesToRemove.includes(obj.name); // Удаляем объекты, чьи значения name совпадают с namesToRemove
    });

    log("Итоговый список 1:", list1);

  • var list1 = [
      { name: "John", age: 25 },
      { name: "Alice", age: 30 },
      { name: "Bob", age: 35 }
    ];
    
    var list2 = [
      { name: "Alice", profession: "Engineer" },
      { name: "David", profession: "Teacher" }
    ];
    
    var result = list1.filter(item1 => {
      // Check if item1's name is not present in any item's name in list2
      return !list2.some(item2 => item2.name === item1.name);
    });
    
    console.log(result);
    
    
    [{"name":"John","age":25},{"name":"Bob","age":35}]