尝试重新格式化API查询的响应,但遇到问题.尝试过地图但没有奏效.
main.data.daily(symbol, 'main', 'json').then(data=> ....);
Run Code Online (Sandbox Code Playgroud)
目前的回复格式:
'data':{
'2018-03-13':
{ '1. open': '32.8500',
'2. high': '33.3600',
'3. low': '32.8500',
'4. close': '33.1400',
'5. volume': '834894'
},
...
}
Run Code Online (Sandbox Code Playgroud)
这是所需的格式:
[{
date: '2018-03-13'
open: 32.85,
high: 33.36,
low: 33.85,
close: 33.14,
volume: 855448
},
...
]
Run Code Online (Sandbox Code Playgroud)
试过以下但没有雪茄:
data.map(val, i, data => {
return {
date: i,
open: val['1. open'],
high: val['2. high'],
low: val['3. low'],
close: val['4. close'],
volume: val['5. volume']
}
});
Run Code Online (Sandbox Code Playgroud)
var data = {
'2018-03-13': {
'1. open': '32.8500',
'2. high': '33.3600',
'3. low': '32.8500',
'4. close': '33.1400',
'5. volume': '834894'
},
}
data = data.map(val, i, data => {
return {
date: i,
open: val['1. open'],
high: val['2. high'],
low: val['3. low'],
close: val['4. close'],
volume: val['5. volume']
}
});
console.log(data)Run Code Online (Sandbox Code Playgroud)
您可以使用Object.entries和重新格式化对象Object.assign.为了获得没有前导数字和点的新密钥,您可以使用正则表达式来分隔新密钥的所需部分.
var data = { '2018-03-13': { '1. open': '32.8500', '2. high': '33.3600', '3. low': '32.8500', '4. close': '33.1400', '5. volume': '834894' }, '2018-03-12': { '1. open': '32.3900', '2. high': '32.8050', '3. low': '32.2800', '4. close': '32.6800', '5. volume': '855448' } },
result = Object
.entries(data)
.map(([date, object]) => Object.assign(
{ date },
...Object.entries(object).map(([k, v]) => ({ [k.match(/\w+$/)]: +v })))
);
console.log(result);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |