我有以下数组:
dates = ['2013-06-01', '2013-07-01', '2013-08-01', '2013-09-01', '2013-10-01', '2013-11-01']
values = [20, 10, 5, 5, 20, 25]
我需要做的是将它们合并为以下格式:
data: [
{ date: '2013-06-01', value: 20 },
{ date: '2013-07-01', value: 10 },
{ date: '2013-08-01', value: 5 },
{ date: '2013-09-01', value: 5 },
{ date: '2013-10-01', value: 20 },
{ date: '2013-11-01', value: 25 }
]
答案 0 :(得分:3)
假设它们的长度始终相同:
var data = [];
for (var i = 0; i < dates.length; i++) {
var obj = {}
obj.date = dates[i];
obj.value = values[i];
data.push(obj);
}
答案 1 :(得分:0)
HMM。我相信你已经想到了这个。使用jquery,如果你不使用它,请道歉。
data = jQuery.map(dates,function(v,i){
return {'date': i, 'value': values[i]}
}
答案 2 :(得分:0)
var data = {
data: dates.map(function(x, i) {
return { date: x, value: values[i] };
})
};
Array.prototype.map是ECMAScript第5版,不适用于&lt; IE9。 对于旧浏览器,我们this polyfill
答案 3 :(得分:-1)
如果jQuery是一个选项,你可以试试这个: