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

293
Visualizações
Eliminar matrices de una matriz si existen ciertos valores dentro de una lista

Bastante nuevo en JavaScript, solo intento eliminar una matriz completa dentro de mis datos si ciertos valores se enumeran en la matriz del_values .

¿Cuál sería el mejor enfoque para este problema?

 data = [['true', 'visiting-today', 'DVM-Wiessman','J-001'], ['false', 'visiting-tommorrow', 'DVM-Stevens','K-001'], ['true', 'visiting-tommorrow', 'DVM-Stevens','Z-001'], ['false', 'visiting-tommorrow', 'DVM-Kon','J-001']] var del_values = ['J-001','K-001']; function remove_from_list(list,deleted_values) { for( var i = 0; i < deleted_values.length; i++) { result = list.filter(dat => !dat.includes(deleted_values[i])); } return result; }

Resultado actual

 data = [ [ 'true', 'visiting-today', 'DVM-Wiessman', 'J-001' ], [ 'true', 'visiting-tommorrow', 'DVM-Stevens', 'Z-001' ], [ 'false', 'visiting-tommorrow', 'DVM-Kon', 'J-001' ] ]

Resultado deseado: para eliminar una matriz completa dentro de los datos si contiene alguno de los valores enumerados en del_values

 data = [[ 'true', 'visiting-tommorrow', 'DVM-Stevens', 'Z-001' ] ]
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar Array.prototype.every dentro de la devolución de llamada del filtro:

 const data = [ ['true', 'visiting-today', 'DVM-Wiessman', 'J-001'], ['false', 'visiting-tommorrow', 'DVM-Stevens', 'K-001'], ['true', 'visiting-tommorrow', 'DVM-Stevens', 'Z-001'], ['false', 'visiting-tommorrow', 'DVM-Kon', 'J-001'] ] const del_values = ['J-001', 'K-001']; function remove_from_list(list, deleted_values) { return list.filter(arr => arr.every(el => !deleted_values.includes(el))) } console.log(remove_from_list(data, del_values))


 function remove_from_list(list,deleted_values) { for( var i = 0; i < deleted_values.length; i++) { result = list.filter(dat => !dat.includes(deleted_value[i])); } return result; }

El problema principal en su código es que cada list de iteraciones se filtra, por lo que la matriz previamente filtrada se reasigna.

over 4 years ago · Santiago Trujillo Relatório

0

Usando Array.some() y Array.filter()

 var data = [['true', 'visiting-today', 'DVM-Wiessman','J-001'], ['false', 'visiting-tommorrow', 'DVM-Stevens','K-001'], ['true', 'visiting-tommorrow', 'DVM-Stevens','Z-001'], ['false', 'visiting-tommorrow', 'DVM-Kon','J-001']] var del_values = ['J-001','K-001']; var result = data.filter(function(arr){ return !arr.some(function(e){return del_values.includes(e)}); }) console.log(result)

over 4 years ago · Santiago Trujillo Relatório

0

Está ejecutando su filtro a través de la list en lugar del result cada vez.

Creo que tenía la intención de continuar trabajando en la lista filtrada en lugar del argumento nuevamente con cada iteración:

 data = [['true', 'visiting-today', 'DVM-Wiessman','J-001'], ['false', 'visiting-tommorrow', 'DVM-Stevens','K-001'], ['true', 'visiting-tommorrow', 'DVM-Stevens','Z-001'], ['false', 'visiting-tommorrow', 'DVM-Kon','J-001']] var del_values = ['J-001','K-001']; function remove_from_list(list,deleted_values) { for( var i = 0; i < deleted_values.length; i++) { list = list.filter(dat => !dat.includes(deleted_values[i])); } return list; } let e = remove_from_list(data,del_values); console.log(e);

over 4 years ago · Santiago Trujillo 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