Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

233
Views
¿Por qué no funciona esta comparación de matriz 2D?

Entonces, obtuve:

 array1 = [ ["Fisrt Name1", "Last Name1", "email@email.com"], ["Fisrt Name2", "Last Name2", "email2@email.com"], ["Fisrt Name3", "Last Name2", "email3@email.com"] ]
 array2 = [ ["email2@email.com"], ["email3@email.com"], ]

Estoy tratando de compararlos y mantener los únicos de array1 de las siguientes maneras y debería regresar:

 resultingArray = [ ["Fisrt Name1", "Last Name1", "email@email.com"], ["Fisrt Name3", "Last Name2", "email3@email.com"] ]

... pero está devolviendo todo.

Intento1:

 resultingArray = array1.filter(e => !array2.includes(e));

Intento2:

 let resultingArray = []; for (let a = 0; a < array1.length; a++){ for (let n= 0; n < array2.length; n++){ if(array1[a][2].indexOf(array2[n][0]) === -1){ resultingArray.push(array1[a]) } } }

¡Gracias por ayudar!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Aquí está mi respuesta editada final después de refactorizar el código.

 array1 = [ ['Fisrt Name1', 'Last Name1', 'email@email.com'], ['Fisrt Name2', 'Last Name2', 'email2@email.com'], ['Fisrt Name3', 'Last Name3', 'email3@email.com'], ['Fisrt Name4', 'Last Name4', 'email4@email.com'], ]; array2 = [['email2@email.com'], ['email3@email.com']]; let resultingArray = []; first: for (let a = 0; a < array1.length; a++) { second: for (let n = 0; n < array2.length; n++) { if (array1[a][2] === array2[n][0]) { continue first; } } resultingArray.push(array1[a]); } console.log(resultingArray);

Aquí he usado etiquetas. Más sobre etiquetas.

about 4 years ago · Juan Pablo Isaza Report

0

No puede comparar 2 valores de referencia (matriz u objeto) Tal vez algo como

 array1 = [ ['Fisrt Name1', 'Last Name1', 'email@email.com'], ['Fisrt Name2', 'Last Name2', 'email2@email.com'], ['Fisrt Name3', 'Last Name3', 'email3@email.com'], ['Fisrt Name4', 'Last Name4', 'email4@email.com'], ]; array2 = [['email2@email.com'], ['email3@email.com']]; const result = array2.map(item => array1.filter(e => !e.includes(item[0]))) console.log(result)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!