Estoy usando una función array.filter() para eliminar todos los objetos donde uno de sus atributos es igual a cualquiera de las cadenas en una matriz dada. Los objetos en la matriz son intercambios criptográficos y necesito filtrar los intercambios con los pares comerciales que no quiero. ¿Cómo lograría esto usando la función de filtro? Por ahora, probé esto que evidentemente no funcionó:
filteredPairs = filteredPairs.filter( (pair) => !pair.symbol.includes( "USDTBUSD", "USDTUSDC", "USDTUST", "USDTUSDP", "USDTDAI", "BUSDUSDT", "BUSDUSDC", "BUSDUST", "BUSDUSDP", "BUSDDAI", "USDCUSDT", "USDCBUSD", "USDCUST", "USDCUSDP", "USDCDAI", "USTUSDT", "USTBUSD", "USTUSDC", "USTUSDP", "USTDAI", "USDPUSDT", "USDPBUSD", "USDPUSDC", "USDPUST", "USDPDAI", "DAIUSDT", "DAIBUSD", "DAIUSDC", "DAIUSDP", "DATUST" ) );Esto no está filtrando estos pares. Cualquier idea sería útil. Gracias.
Esto se puede hacer en una sola línea.
// testing object const filteredPairs = [ { symbol: 'USDTBUSD', }, { symbol: 'abc', }, { symbol: 'BUSDUSDT', }, { symbol: '321', }, ]; // items we don't want const blacklist = [ 'USDTBUSD', 'USDTUSDC', 'USDTUST', 'USDTUSDP', 'USDTDAI', 'BUSDUSDT', 'BUSDUSDC', 'BUSDUST', 'BUSDUSDP', 'BUSDDAI', 'USDCUSDT', 'USDCBUSD', 'USDCUST', 'USDCUSDP', 'USDCDAI', 'USTUSDT', 'USTBUSD', 'USTUSDC', 'USTUSDP', 'USTDAI', 'USDPUSDT', 'USDPBUSD', 'USDPUSDC', 'USDPUST', 'USDPDAI', 'DAIUSDT', 'DAIBUSD', 'DAIUSDC', 'DAIUSDP', 'DATUST', ]; // filter const newFilteredPairs = filteredPairs.filter(({ symbol }) => !blacklist.some((item) => symbol.includes(item))); console.log(newFilteredPairs);