目前我的Rails控制器正在返回一个对象数组:
var _data = [];
$.getJSON(my_url, function(data) {
$.map(data, function(v) {
_data.push([v.occurrences, v.period])
});
});
console.log(_data) => []
扩展时看起来像这样:
Array[4]
0:Object
1:Object
2:Object
3:Object
扩展后的单个对象如下所示:
0:Object
occurrences:1
period:1488499200000
我无法映射初始对象数组,以至于我的最终结果将是由每个对象组成的数组数组'发生价值和期间价值。
最终结果应该像:
[[1488499200000, 1],[.., ..],[.., ..],[.., ..]]
这样我就可以将图表中的每个数组用作x和y轴点。
我尝试过使用.map,.each,(for i in ..)等等,没有运气。
编辑:
这是我的图表数据:
var line_data2 = {
data: _data,
color: "#00c0ef"
};
$.plot("#myGraph", [line_data2], {
grid: {
hoverable: true,
borderColor: "#f3f3f3",
borderWidth: 1,
tickColor: "#f3f3f3"
},
series: {
shadowSize: 0,
lines: {
show: true
},
points: {
show: true
}
},
lines: {
fill: false,
color: ["#3c8dbc", "#f56954"]
},
yaxis: {
show: true,
},
xaxis: {
show: true,
mode: "time",
timeformat: "%m/%d/%Y"
}
});
答案 0 :(得分:0)
可能有比这更优雅的解决方案,但这会让你得到我认为你要求的形状阵列。
if (cond1 and cond2) or (not cond1 and not cond2):
你可以更进一步,只需循环遍历对象,而不是硬编码名称。
let _data = [
{occurrences: 1, period: 200},
{occurrences: 3, period: 300},
{occurrences: 6, period: 400}
];
let newData = _data.map((x)=>{
let arr = [];
arr.push(x.occurrences);
arr.push(x.period);
return arr;
});
console.log(newData);