Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

93
Vistas
Determine if an array of objects contains any object of another array in JavaScript

Given the following two array objects:

let origArr = [ { value: 2, label: 'Dog' }, 
                { value: 4, label: 'Cat' },
                { value: 16, label: 'Horse' } 
              ]

let newArr = [
  { value: 2, label: 'Dog' },
  { value: 3, label: 'Bird' },
  { value: 0, label: 'Fish' }
]

what would be the best way to return a new array of just the value of the difference between the origArr and the newArr, that is, where origArr element(s) are not in newArr ?

In the above example, I am after a new array called diffArr = [4,16]

Please note: that all value values within both origArr and the newArr are unique

Not sure if there is an ES2016 means?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

You can use filter and some to do the job.

let origArr = [ { value: 2, label: 'Dog' }, 
                { value: 4, label: 'Cat' },
                { value: 16, label: 'Horse' } 
              ]

let newArr = [
  { value: 2, label: 'Dog' },
  { value: 3, label: 'Bird' },
  { value: 0, label: 'Fish' }
]

const res = origArr.filter(x => !newArr.some(y => y.value === x.value));

console.log(res); // assuming you want the entire filtered objects

const justValues = res.map(x => x.value); // if you want just the filtered values

console.log(justValues)

some - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

filter - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

about 4 years ago · Juan Pablo Isaza Denunciar

0

You can get all unique value from newArr using Set and array#map and then filter value which doesn't exist in the set and get all values.

const origArr = [ { value: 2, label: 'Dog' }, { value: 4, label: 'Cat' }, { value: 16, label: 'Horse' } ],
      newArr = [ { value: 2, label: 'Dog' }, { value: 3, label: 'Bird' }, { value: 0, label: 'Fish' } ],
      unique = new Set(newArr.map(o => o.value)),
      difference = origArr
            .filter(({value}) => !unique.has(value))
            .map(o => o.value);
console.log(difference);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda