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 = 100000ok, lo que estoy tratando de hacer es, digamos, como en cualquier filtro lateral
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.