Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

279
Visualizações
Empujar una matriz en otra matriz a menos que un cierto valor ya esté 'llenado'

Mi objetivo es insertar una matriz en otra matriz. Sin embargo, la matriz no se insertará si el valor dentro de a[1] existe desde una inserción anterior.

ejemplo simplificado de mi intento

 curated_array = []; for(i =0; i < 4; i++) { console.log(i); if(i ==0){ a = ['John','15799','United States']; } else if(i ==1){ a = ['Tim','86037','United States']; } else if(i==2){ a = ['George','15799','Great Britain']; } else if(i ==3){ a = ['Lucas','26482','Greece']; } else if(i ==4){ a = ['Joshua','83620','United States']; } curated_array = curated_array.filter(f => f!= a).concat([a]); } console.log(curated_array);

resultado real

 [ [ 'John', '15799', 'United States' ], [ 'Tim', '86037', 'United States' ], [ 'George', '15799', 'Great Britain' ], [ 'Lucas', '26482', 'Greece' ], [ 'Joshua', '83620', 'United States' ] ]

Resultado deseado: eliminar la fila donde a[1] = 15799, ya que ya sucedió

 [ [ 'John', '15799', 'United States' ], [ 'Tim', '86037', 'United States' ], [ 'Lucas', '26482', 'Greece' ], [ 'Joshua', '83620', 'United States' ] ]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si bien el comentario de @Barmar hace que su código funcione, es ineficiente iterar sobre toda la matriz cada vez para verificar si ha visto el valor antes.

Considere usar una estructura de datos diferente, como un conjunto o pares clave-valor:

Responda con pares key-val/hash map-like:

 inputs = [ [ 'John', '15799', 'United States' ], [ 'Tim', '86037', 'United States' ], [ 'George', '15799', 'Great Britain' ], [ 'Lucas', '26482', 'Greece' ], [ 'Joshua', '83620', 'United States' ] ] // build a hash map, O(n) => you only need to build this once uniqueInputs = {} inputs.forEach(input => { valueToCheck = input[1] // checking for a key in an object is O(1) if (! (valueToCheck in uniqueInputs) ) uniqueInputs[ valueToCheck ] = input }) // turn the object back into an array output = Object.values( uniqueInputs )

Producción:

 [ [ "John", "15799", "United States" ], [ "Lucas", "26482", "Greece" ], [ "Joshua", "83620", "United States" ], [ "Tim", "86037", "United States" ] ]
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda