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

72
Views
matriz en filtro de matriz - javascript

hola necesito ayuda con array, como puedes ver mis datos

 { "age" : "18", "altKategoriler" : [ "Dramalar" ], "category" : [ "Aksiyon", "Heyecanlı", "Gerilim" ], "id" : 5240718100, "img" : "https://i.ibb.co/k8wx5C8/AAAABW9-ZJQOg-MRljz-Zwe30-JZw-Hf4vq-ERHq6-HMva5-ODHln-Ci-OEV6ir-Rcjt88tcnm-QGQCKpr-K9h-Oll-Ln-Sbb-EI.jpg", "izlenilmeSayisi" : 0, "logo" : "https://i.ibb.co/Rb2SrcB/AAAABfcrhh-Rni-Ok-Ct2l-Rys-ZYk-Oi-T0-XTeagkrw-Mkm-U0h-Lr-WIQZHEHg-VXihf-OWCwz-Vv-Qd7u-Ffn-DFZEX2-Ob.webp", "oyuncuKadrosu" : [ "Diego Luna", "Michael Pena", "Scoot McNairy", "Tenoch Huerta", "Joaquin Cosio" ], "senarist" : [ "Doug Miro" ], "time" : "3 Sezon", "title" : "Narcos: Mexico", "type" : "Dizi", "videoDescription" : "Guadalajara Karteli'nin yükselişinin gerçek öyküsünü anlatan bu yeni ve cesur Narcos hikâyesinde, Meksika'daki uyuşturucu savaşının 1980'lerdeki doğuşuna tanıklık edin.", "videoQuality" : "HD", "videosrc" : "https://tr.vid.web.acsta.net/uk/medias/nmedia/90/18/10/18/19/19550785_hd_013.mp4", "year" : "2021", "yonetmen" : [ "Carlo Bernard", "Chris Brancato" ] }

Puedo acceder a elementos como id, title o logo porque no son matrices.

¿Cómo puedo recorrer los datos dentro de la matriz ya que hay una matriz en la categoría en rendimiento?

 var data = this.database.filter((item) => item.type == searchType) var data = this.database.filter((item) => item.category == searchCategory)

Está bien porque mi valor de tipo no tiene una matriz.

Pero cuando ingreso el valor de mi categoría, solo obtiene el primer índice [0]. No mira otros índices.

en resumen, item.category[0] , item.category[1] , item.category[2]...........
¿Cómo puedo obtener una navegación de índice como

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

0

si sus datos se ven así:

 let data ={ "age" : "18", "altKategoriler" : [ "Dramalar" ], "category" : [ "Aksiyon", "Heyecanlı", "Gerilim" ], "id" : 5240718100, "img" : "https://i.ibb.co/k8wx5C8/AAAABW9-ZJQOg-MRljz-Zwe30-JZw-Hf4vq-ERHq6-HMva5-ODHln-Ci-OEV6ir-Rcjt88tcnm-QGQCKpr-K9h-Oll-Ln-Sbb-EI.jpg", "izlenilmeSayisi" : 0, "logo" : "https://i.ibb.co/Rb2SrcB/AAAABfcrhh-Rni-Ok-Ct2l-Rys-ZYk-Oi-T0-XTeagkrw-Mkm-U0h-Lr-WIQZHEHg-VXihf-OWCwz-Vv-Qd7u-Ffn-DFZEX2-Ob.webp", "oyuncuKadrosu" : [ "Diego Luna", "Michael Pena", "Scoot McNairy", "Tenoch Huerta", "Joaquin Cosio" ], "senarist" : [ "Doug Miro" ], "time" : "3 Sezon", "title" : "Narcos: Mexico", "type" : "Dizi", "videoDescription" : "Guadalajara Karteli'nin yükselişinin gerçek öyküsünü anlatan bu yeni ve cesur Narcos hikâyesinde, Meksika'daki uyuşturucu savaşının 1980'lerdeki doğuşuna tanıklık edin.", "videoQuality" : "HD", "videosrc" : "https://tr.vid.web.acsta.net/uk/medias/nmedia/90/18/10/18/19/19550785_hd_013.mp4", "year" : "2021", "yonetmen" : [ "Carlo Bernard", "Chris Brancato" ] }

y si tenemos una matriz de datos, puede hacer algo como esto:

 myArray.filter(item=>item.category.indexOf(searchCategory)>=0)

pero si desea explorar en objeto en lugar de matriz, puede hacer esto:

 data.category.indexOf(searchCategory)>=0
about 4 years ago · Juan Pablo Isaza Report

0

Podría hacer esto un poco genérico, probando si el campo de destino es una matriz, usando Array.isArray , y luego llame a un filtro en cada elemento, y vea si alguno es positivo (usando .some() ). El filtro puede ser una función que se proporciona, de modo que pueda realizar una coincidencia simple, aplicar una expresión regular o cualquier otra cosa.

En lugar de probar con Array.isArray , puede omitir ese paso y verificar si el valor tiene un método .some() . Si es así, llamarlo dará el resultado deseado y, de lo contrario (usando los operadores .? y ?? ), el filtro debe aplicarse al valor como un todo:

Así es como se ve:

 function applyFilter(data, field, filter) { return data.filter(item => item[field]?.some(filter) ?? filter(item)); } // Example use: var data = [{ "category" : [ "Action", "Thriller", "Horror"], "type" : "Series", }, { "category" : [ "Historical", "Romance" ], "type" : "Theatre", }]; // Find entries that have a category that looks like "roman*": var result = applyFilter(data, "category", value => /^roman.*/i.test(value)); console.log(result);

Si está ejecutando una versión anterior de JavaScript y no tiene soporte para .? o ?? , luego usa:

 return data.filter(item => Array.isArray(item[field]) ? item[field].some(filter) : filter(item));
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!