我正在嘗試.toLocaleString()對每個陣列元素執行。例如,我正在執行此操作以更改1111' to 1,111`。我試圖訪問的資料:
"Data": {
"id": 1182,
"time": 1637193600,
"symbol": "BTC",
"partner_symbol": "BTC",
"zero_balance_addresses_all_time": 882855842,
"unique_addresses_all_time": 920909797,
"new_addresses": 476543,
"active_addresses": 992178,
"average_transaction_value": 18.723511893530098,
"block_height": 710345,
"hashrate": 163489266.17996278,
"difficulty": 22674148233453.105,
"block_time": 595.6643356643356,
"block_size": 1267871,
"current_supply": 18877162,
"transaction_count": 293867,
"transaction_count_all_time": 688002252,
"large_transaction_count": 29400
}
我試圖操作陣列的代碼:
getCryptoBlockchainData(selectedCrypto).then(cryptoTradingSignal => {
if (cryptoTradingSignal.hasOwnProperty('id')) {
cryptoTradingSignal.forEach(function (item, i) {
this[i] = item.toLocaleString();
}, cryptoTradingSignal);
return this.setState({cryptoBlockchainData: cryptoTradingSignal});
} else {
return this.setState({cryptoBlockchainData: undefined});
}
});
}
uj5u.com熱心網友回復:
你不能在物件的屬性上使用 forEach。您可以將其轉換為陣列,執行您的操作,然后將其轉換回物件。
getCryptoBlockchainData(selectedCrypto).then(cryptoTradingSignal => {
if (cryptoTradingSignal.hasOwnProperty('id')) {
const newSignal = Object.fromEntries(
Object.entries(cryptoTradingSignal).map(([k, v]) => ([k, v.toLocaleString()]))
);
return this.setState({cryptoBlockchainData: newSignal});
} else {
return this.setState({cryptoBlockchainData: undefined});
}
});
uj5u.com熱心網友回復:
你可能會用Array.prototype.map()它。
對于您的代碼,可能類似于
const newArray = Object.keys(object["Data"]).map(item => object[item].toLocaleString()));
請參閱此處的檔案。
uj5u.com熱心網友回復:
您可以使用 Object.keys() 函式遍歷物件鍵并更改所需的值。
const dataObj = {
"id": 1182,
"time": 1637193600,
"symbol": "BTC",
"partner_symbol": "BTC",
"zero_balance_addresses_all_time": 882855842,
"unique_addresses_all_time": 920909797,
"new_addresses": 476543,
"active_addresses": 992178,
"average_transaction_value": 18.723511893530098,
"block_height": 710345,
"hashrate": 163489266.17996278,
"difficulty": 22674148233453.105,
"block_time": 595.6643356643356,
"block_size": 1267871,
"current_supply": 18877162,
"transaction_count": 293867,
"transaction_count_all_time": 688002252,
"large_transaction_count": 29400
}
Object.keys(dataObj).forEach(key => dataObj[key] = dataObj[key].toLocaleString());
console.log(dataObj);
編輯:
如果您的物件在您的示例中嵌套,您還需要使用“資料”鍵:
Object.keys(dataObj['Data']).forEach(key => dataObj['Data'][key] = dataObj['Data'][key].toLocaleString());
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/377991.html
標籤:javascript 数组
