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

185
Views
¿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 answers
Answer question

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 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!