0

I have a array object and a array.

const arr1=[
    { name: "viet" },
    { name: "hai" },
    { name: "han" }
    ]
const arr2= ["viet", "hai"];

How can i compare and set arr like:

arr = [{name: "han"}]
Victor
  • 23
  • 5
  • Does this answer your question? [How to filter an array from all elements of another array](https://stackoverflow.com/questions/34901593/how-to-filter-an-array-from-all-elements-of-another-array) – Ramesh Reddy Dec 28 '21 at 03:54

2 Answers2

2

Try this code :D

const arr1=[
    { name: "viet" },
    { name: "hai" },
    { name: "han" }
    ]
const arr2= ["viet", "hai"];
const result = arr1.filter(item => !arr2.includes(item.name))

console.log(result) // [{name: "han"}]
Dae Hyeon Mun
  • 521
  • 4
  • 7
1
const arr1=[
    { name: "viet" },
    { name: "hai" },
    { name: "han" }
    ]
const arr2= ["viet", "hai"];
let res = arr1.filter(function (n) {
                    return !this.has(n.name);
                }, new Set(arr2));
                
console.log(res);
Wang YinXing
  • 278
  • 1
  • 6