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

182
Views
¿Cómo puedo filtrar una matriz por sus propiedades?

Tengo un CMC WP sin cabeza que se obtiene en mi Javascript y se almacena. Quiero filtrarlo por una propiedad ( si el valor de la propiedad = al valor que ingresé en html, entonces debería agregarse al HTML interno ) y, por lo tanto, traté de recorrerlo, pero no funciona. Esta es mi función:

 for (let i in this.filtered) { for (let y in this.filtered[i].categories) { //console.log(this.filtered[i].categories[y] + " "); const results = this.filtered[i].categories[y].filter(post => post == value) console.log(results); } }

Dice en la consola que this.filtered[i].categories[y].filter no es una función.

esta es una parte de la matriz de this.filtered , quiero filtrar por categorías. ingrese la descripción de la imagen aquí

Esto es lo que muestra cuando abro console.log(this.filtered[i].categories[y]); ingrese la descripción de la imagen aquí

¡Gracias de antemano!

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

0

Dice en la consola que this.filtered[i].categories[y].filter no es una función.

Los elementos en la matriz de categories , según su captura de pantalla, son números enteros simples. Los enteros no entienden/implementan ningún método llamado filter() . (Dicho de otra manera: ¿qué harías si te dijera que filtraras el número 7?) Lógicamente, está claro que esto no es lo que pretendías.

Mientras se dirige por el camino correcto, le recomiendo que lo mantenga simple: ejecute Array.filter en su matriz más externa y use la lógica en la devolución de llamada para probar si la sub-matriz de categories contiene el valor que está buscando :

 var _this = {}; _this.filtered = [{ acf: {}, author: 1, categories: [18, 2, 3] }, { acf: {}, author: 2, categories: [4, 3, 7, 18] } ]; const value = 2; var filteredResults = _this.filtered.filter(cv => cv.categories.includes(value)); console.log(filteredResults);

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!