![](/img/trans.png)
[英]How to turn JavaScript array of objects into jQuery prependTo
[英]Turn jQuery array of objects into a new array
當前,我的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((對於..中的i)),但是沒有運氣。
編輯:
這是我的圖表數據:
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"
}
});
可能有比這更優雅的解決方案,但這將為您提供我認為您需要的定型陣列。
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);
您可以更進一步,只遍歷對象而不是對名稱進行硬編碼。
let newData = _data.map((x)=>{
let arr = [];
for(let i in x){
arr.push(x[i]);
}
return arr;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.