我現在正在創建一個圖表我面臨一個問題我有一個具有特定值的 json 陣列,所以下面我有一個元素 stock_change_p(可以是正數或負數)我想要添加一個具有相同值的新元素(但為正) 在整個 json 陣列中。
這是我現在的陣列
let data ={
"status": "success",
"data": [
{
"sector_code": "0801",
"stocks": [
{
"stock_change_p": "-1.34",
},
{
"stock_change_p": "0.96",
},
{
"stock_change_p": "-0.24",
}
]
},
]
}
我希望我的陣列稍后查看
let data ={
"status": "success",
"data": [
{
"sector_code": "0801",
"stocks": [
{
"size": "1.34",
"stock_change_p": "-1.34",
},
{
"size": "0.96",
"stock_change_p": "0.96",
},
{
"size": "0.24",
"stock_change_p": "-0.24",
}
]
},
]
}
uj5u.com熱心網友回復:
下面提供了實作相同結果的另一種方法
let data = {
"status": "success",
"data": [{
"sector_code": "0801",
"stocks": [{
"stock_change_p": "-1.34",
},
{
"stock_change_p": "0.96",
},
{
"stock_change_p": "-0.24",
}
]
},
]
};
const addSize = (dataObj = data) => ({
...dataObj,
data: [...dataObj.data.map(d => ({
...d,
stocks: d.stocks.map(s => ({
...s,
size: Math.abs(parseFloat(s.stock_change_p)).toString()
}))
}))]
});
console.log(addSize());
uj5u.com熱心網友回復:
使用Math.abs()負值轉正
試試這個代碼它可以幫助你
let data = {
"status": "success",
"data": [... ]
}
for (let i = 0; i < data.data.length; i ) {
let stocks = data.data[i].stocks;
for (let j = 0; j < stocks.length; j ) {
let obj = stocks[j];
obj['size'] = Math.abs(obj.stock_change_p);
}
}
console.log(data, 'data');
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414913.html
標籤:
