¿Cómo puedo combinar ambas matrices (perfil y países), pero filtrar cualquier objeto donde el Nombre sea el mismo en ambas matrices (pero solo elimine el objeto que tiene IsDirector: nulo)
Supongo que es una combinación de concat y filtro, pero no estoy seguro de cómo hacerlo funcionar.
Datos:
let profile = [ { "IsDirector":true, "Name":"Germany" }, { "IsDirector":false, "Name":"Spain" }, ] let countries = [ { "IsDirector":null, "Name":"Germany" }, { "IsDirector":null, "Name":"Spain" }, { "IsDirector":null, "Name":"Portugal" } ]Resultado deseado:
[ { "IsDirector":true, "Name":"Germany" }, { "IsDirector":false, "Name":"Spain" }, { "IsDirector":null, "Name":"Portugal" } ]Convierta la primera matriz en un objeto para un mejor acceso y use el map
const profile = [ { "IsDirector":true, "Name":"Germany" }, { "IsDirector":false, "Name":"Spain" }, ] const countries = [ { "IsDirector":null, "Name":"Germany" }, { "IsDirector":null, "Name":"Spain" }, { "IsDirector":null, "Name":"Portugal" } ] function f() { const p = Object.fromEntries(profile.map(el => ([el.Name, el]))); return countries.map(el => ({ ...el, IsDirector: p[el.Name]?.IsDirector ?? null })); } console.log(f());