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

158
Visualizações
¿Cómo puedo filtrar una matriz por otra matriz si 1 de los elementos es igual?

Mi matriz para el filtro:

 types: [ { type: 0, name: 'Item_1' }, { type: 1, name: 'Item_2' }, { type: 2, name: 'Item_3' }, { type: 3, name: 'Item_4' }, { type: 4, name: 'Item_5' }, { type: 5, name: 'Item_6' }, { type: 6, name: 'Item_7' }, ]

filtrado por:

 sort: [1, 2, 3];

¿Cómo puedo hacer algo como esto pero para múltiples valores?

 filterType(item) { return item.type.toString() == this.sort; }

ACTUALIZACIÓN: Necesidad de esta función:

 filtered() { const conditions = []; if (this.sort) { conditions.push(this.filterType); } if (conditions.length > 0) { return this.types.filter((dessert) => { return conditions.every((condition) => { return condition(dessert); }) }) } return this.types; }

Ya intenté hacer un bucle for y foreach pero no funciona

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

0

Prueba de esta manera:

 const types = [ { type: 0, name: 'Item_1' }, { type: 1, name: 'Item_2' }, { type: 2, name: 'Item_3' }, { type: 3, name: 'Item_4' }, { type: 4, name: 'Item_5' }, { type: 5, name: 'Item_6' }, { type: 6, name: 'Item_7' }, ]; const needTypes = new Set([1, 2, 3]); const filterTypes = (arr) => arr.filter(item => needTypes.has(item.type)); console.log(filterTypes(types));

Utilicé el new Set() porque si los tipos de needTypes son una matriz muy grande, llevará mucho tiempo buscar en el elemento de la matriz cada vez.

about 4 years ago · Juan Pablo Isaza Relatório

0

Parece que estás usando una class . Así que pase la matriz de types y la matriz de sort , y luego llame al método de filter de la clase para devolver esos objetos filtrados.

Algo como esto.

 class Desserts { constructor(types, sort) { this.types = types; this.sort = sort; } add(obj) { this.types.push(obj); } updateSort(n) { this.sort.push(n); } filter() { return this.types.filter(dessert => { return this.sort.includes(dessert.type); }); } } const types = [{type:0,name:'Item_1'},{type:1,name:'Item_2'},{type:2,name:'Item_3'},{type:3,name:'Item_4'},{type:4,name:'Item_5'},{type:5,name:'Item_6'},{type:6,name:'Item_7'}]; const sort = [1, 2, 3]; const desserts = new Desserts(types, sort); console.log(desserts.filter()); desserts.add({ type:7, name:'Item_8' }); desserts.updateSort(7); console.log(desserts.filter());

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