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

84
Visualizações
javascript elimina solo el objeto de la matriz usando el filtro fallido

 let c = [{tenantId:1, cost:30}]; let b = c.filter(x => x.tenantId == 1); alert(b.length);

Cuando creo la matriz c con un solo objeto como el código anterior, espero que b.length sea 0, pero es 1. Sin embargo, cuando agrego otro objeto a la matriz c y luego realizo la misma operación de filtro, obtuve el respuesta esperada, en la que b.length es igual a 1.(2 objetos filtrados 1 y dejados 1). ¿Alguien sabe por qué sucede?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

.filter mantiene los elementos que coinciden con la prueba, en lugar de eliminarlos.

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

Si puede console.log() toda la matriz en lugar de simplemente la longitud, podrá ver lo que contiene. Alternativamente, podría alert(JSON.stringify(b)) .

about 4 years ago · Juan Pablo Isaza Relatório

0

 let c = [{tenantId:1, cost:30}]; let b = c.filter(x => x.tenantId != 1); console.log(b.length);

Debe agregar x.tenantId != 1 en esta línea de código.

about 4 years ago · Juan Pablo Isaza Relatório

0

Simplemente cambia el == a !== y estarás bien.

¿Por qué?:

El método de filter mantendrá todos los elementos que devuelvan verdadero cuando pasen por su condición. En su código original, le está diciendo al filtro que "Mantenga todos los objetos en esta matriz donde el identificador de tenantId es igual a 1 ". Si desea eliminarlos, debe decirle "Mantenga todos los objetos donde el ID de tenantId no sea igual a 1 ".

 const arr = [{ tenantId: 1, cost: 30 }]; const filtered = arr.filter(({ tenantId }) => tenantId !== 1); console.log(filtered, `Length: ${filtered.length}`);

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