如何将给定对象数组转换为图表data.addRows要求的目标格式?
实现代码(JavaScript)
首先定义你拿到的原始数组:
const originArr = [ {"temp":"24.44","time":"2021-11-26 22:23:29.370657"}, {"temp":"25.44","time":"2021-11-26 22:23:35.411530"} ];
使用数组map方法遍历处理每一项即可完成转换:
const result = originArr.map(item => { // 将字符串格式的温度转为数值 const tempVal = Number(item.temp); // 拆分时间字符串,提取时分秒并转为数值数组 const timeStr = item.time.split(' ')[1].split('.')[0]; const timeArr = timeStr.split(':').map(Number); return [tempVal, timeArr]; }); // 直接传入调用即可 data.addRows(result);
逻辑说明
- 温度处理:原始数据中temp是字符串格式,用
Number()直接转成符合要求的数值类型 - 时间处理:
- 先用空格拆分时间字符串,取后半部分
22:23:29.370657的时分秒段 - 再用
.拆分去掉毫秒部分,得到22:23:29 - 最后用
:拆分分别拿到时、分、秒三个值,统一转成数值类型
- 先用空格拆分时间字符串,取后半部分
如果需要兼容低版本浏览器不支持ES6语法,把箭头函数换成普通函数写法即可。
内容的提问来源于stack exchange,提问作者Lucas
相关产品推荐
相关产品推荐

