Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
¿Cómo filtrar datos y mostrarlos en la parte superior de la matriz?

Estoy haciendo un intercambio descentralizado en el que estoy tratando de implementar una funcionalidad de búsqueda donde los usuarios colocan la dirección, el nombre o el símbolo del token. Pero el desafío al que me enfrento es que cuando los usuarios busquen tokens como BUSD , el token presente en la billetera del usuario aparecerá en primer lugar. por ejemplo:-

supongamos que tengo estos tokens en mi billetera y recibo esta respuesta de web3

 [ { "token_address":"0x0e262..........", "name":"Busy DAO", "symbol":"BUSY", "logo":null, "thumbnail":null, "decimals":"18", "balance":"685485000000000000000000" },{ "token_address":"0x1f762..........", "name":"BUSD Token", "symbol":"BUSD", "logo":null, "thumbnail":null, "decimals":"18", "balance":"32491651588824863" } ]

Ahora, si los usuarios buscaron BUS en su cuadro de búsqueda y obtienen una lista de más de 20 o 30 tokens, entonces quiero filtrar esa matriz y quiero hacer coincidir el símbolo de la respuesta del token buscado y el token presente en mi billetera y luego mostrar el token presente en una billetera en la parte superior y muestra el resto de los tokens según su nombre o símbolo (orden alfabético) en la lista de búsqueda.

Intenté buscar esto en la web pero no obtuve nada al respecto.

Aquí está mi código:

 // wallet assets const getWalletAssets = useMoralisWeb3ApiCall(moralisWeb3Api.account.getTokenBalances, { chain: 'bsc', address: connectedWallet }) // Token Search filter (getting tokens) const searchTokenName = coins.filter((c) => c.name.toLowerCase().includes(search.toLowerCase())) // Sorting them according to their symbols (alphabetic order) const searchToken = tokenData.sort((a, b) => a.symbol.localeCompare(b.symbol))
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tal vez este enfoque sería útil. Primero filtre los resultados que están dentro y fuera de la billetera y luego combínelos en una matriz.

 const searchResults = ['BNB','BNT','BORA','BSV','BTC','BTCB','BTCST','BTG','BTT','BUSD','DASH','DCR','DENT','DGB','DOGE','ELON','ENJ','EOS','ETC','ETH','EWT','FEI','FET','FIL']; const walletCoins = ['BTC','DOGE','ETH', '1INCH']; const resultInWallet = searchResults.filter((coin) => walletCoins.includes(coin)); const resultNotInWallet = searchResults.filter((coin) => !walletCoins.includes(coin)); const result = [...resultInWallet, ...resultNotInWallet]; console.log(result)
 .as-console-wrapper{min-height: 100%!important; top: 0}

--- actualizado ---

 const searchResults = [{symbol:'BNB'},{symbol:'BNT'},{symbol:'BTC'},{symbol:'BTCB'},{symbol:'BTCST'},{symbol:'BTG'},{symbol:'BTT'},{symbol:'BUSD'},{symbol:'DOGE'},{symbol:'ELON'},{symbol:'ETC'},{symbol:'ETH'},{symbol:'EWT'},{symbol:'FEI'}]; const walletCoins = [{symbol:'BTC'},{symbol:'DOGE'},{symbol:'ETH'},{symbol:'1INCH'}]; const resultObj = searchResults.reduce((acc, targetCoin) => { if (walletCoins.some((walletCoin) => walletCoin.symbol === targetCoin.symbol)) { acc.inWallet = [...acc.inWallet, targetCoin]; } else { acc.notInWallet = [...acc.notInWallet, targetCoin]; } return acc; }, { inWallet: [], notInWallet:[] }); const result = [...resultObj.inWallet, ...resultObj.notInWallet]; console.log(result);
 .as-console-wrapper{min-height: 100%!important; top: 0}

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda