Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Matriz de filtros sobre la base de múltiples filtros simultáneamente

Estoy tratando de crear un filtro que solemos ver en los sitios del mercado de valores. Tengo pocas variables en las que tengo datos diferentes en base a los que quiero filtrar. Hay una matriz esta.

 let array = [{ "sector_code": "0828", "listed_in": ["ALLSHR,KSE100"], "marketcap": 1000000, "closingPrice": 356 }, { "sector_code": "0828", "listed_in": ["ALLSHR,OGTI"], "marketcap": 50000, "closingPrice": 26 }, { "sector_code": "0824", "listed_in": ["KSE100,ALLSHR,KMIALLSHR"], "marketcap": 20000, "closingPrice": 125 }, { "sector_code": "0833", "listed_in": ["ALLSHR, KMI30",], "marketcap": 300000000, "closingPrice": 4500 } ] sectorFilters = ['0828','0828'] marketFilters = ['KMI30']; minClosingValue = 0 maxClosingValue = 100 minMarketValue = 0 maxMarketValue = 100000

ok, lo que estoy tratando de hacer es, digamos, como en cualquier filtro lateral

  1. Si tenemos minMarketValue, digamos 0 y maxMarketValue = 100000 (y no se aplica ningún otro filtro), entonces debería obtener todas las acciones dentro de este rango.
  2. pero si también obtenemos minClosingValue = 0 y maxClosingValue = 100 (con el filtro de mercado anterior aplicado), también debería archivar la matriz en función de ambas condiciones.
  3. digamos que alguien también seleccionó algunos sectores y obtenemos ['0828','0829','0830] ahora debería obtener todas las acciones con las dos condiciones anteriores satsified+ dentro de estos sectores
  4. digamos que alguien también seleccionó algunos mercados y obtenemos ['KSE100','ALLSHR'] Ahora debería obtener todas las acciones con las tres condiciones anteriores satisfechas + estos mercados.

Intenté trabajar en esta lógica y obtengo un resultado decente en 3 y 4 puntos, pero realmente no sé cómo implementar primero y segundo junto con ambos combinados.

 function array_subset() { return array.filter(element => { const is_listed = listed_inilter.some(item => element.listed_in.includes(item)); const is_sector = sector_code.includes(element.sector_code); if (sector_code.length == 0) { return ((is_listed || is_sector)) } else { return ((is_listed && is_sector)) } }); } console.log(array_subset());

También adjunto el script del archivo js para que si alguien quiere ver los detalles, ya que he tratado de simplificar las cosas.

Por favor, pregunte si no aclaré mis puntos y está confundido.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda