Estoy tratando de realizar .toLocaleString() en cada uno de los elementos de las matrices. Estoy realizando esto, por ejemplo, para cambiar 1111' to . Los datos a los que intento acceder:
"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 }Mi código en un intento de manipular la matriz:
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}); } }); }No puede forEach sobre las propiedades de un objeto. Puede convertirlo en una matriz, hacer lo suyo y luego volver a convertirlo en un objeto.
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}); } });Puede iterar a través de las claves de objeto utilizando la función Object.keys() y cambiar los valores que desee.
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);EDITAR:
En caso de que su Objeto esté anidado como en su ejemplo, también necesita usar la tecla 'Datos':
Object.keys(dataObj['Data']).forEach(key => dataObj['Data'][key] = dataObj['Data'][key].toLocaleString());