You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定数组中提取特定资产(如BTC)的balance数据?

问题

如何从给定的数组中检索特定数据?比如我想获取asset为BTC的条目里的balance值,对应的数组如下:

[{"accountAlias":"AusRSgfWfWSg","asset":"BTC","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"ADA","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"XRP","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"TUSD","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"DOT","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"SOL","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"BNB","balance":"0.00006119","crossWalletBalance":"0.00006119","crossUnPnl":"0.00000000","availableBalance":"0.00006119","maxWithdrawAmount":"0.00006119","marginAvailable":true,"updateTime":1680516643497},{"accountAlias":"AusRSgfWfWSg","asset":"ETH","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"USDT","balance":"400.91000000","crossWalletBalance":"400.91000000","crossUnPnl":"0.00000000","availableBalance":"400.91000000","maxWithdrawAmount":"400.91000000","marginAvailable":true,"updateTime":1680530690156},{"accountAlias":"AusRSgfWfWSg","asset":"USDP","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"USDC","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0},{"accountAlias":"AusRSgfWfWSg","asset":"BUSD","balance":"0.00000000","crossWalletBalance":"0.00000000","crossUnPnl":"0.00000000","availableBalance":"0.00000000","maxWithdrawAmount":"0.00000000","marginAvailable":true,"updateTime":0}]

解决方案

JavaScript 实现

用find()方法定位目标条目,再提取balance:

// 假设数组名为assets
const assets = [/* 上述数组内容 */];
const btcItem = assets.find(item => item.asset === 'BTC');
const btcBalance = btcItem ? btcItem.balance : '未找到BTC条目';
console.log(btcBalance); // 输出:0.00000000

Python 实现

用循环或生成器表达式快速查找:

# 假设数组名为assets
assets = [/* 上述数组内容 */]
# 方法1:循环查找
btc_balance = None
for item in assets:
    if item['asset'] == 'BTC':
        btc_balance = item['balance']
        break
print(btc_balance) # 输出:0.00000000

# 方法2:生成器表达式(更简洁)
btc_balance = next((item['balance'] for item in assets if item['asset'] == 'BTC'), '未找到BTC条目')
print(btc_balance)

内容的提问来源于stack exchange,提问作者selocan64

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 23:37:03