我有以下数组:
dataSeries.data=[10,20,40,40,20];
但是我想在JavaScript对象中获取每个数组元素
myjs=[{data:10},{data:20},{data:40},{data:40},{data:20}];
我尝试了以下但不起作用:
for (i = 0; i < self.dataSeries.length; i++) {
self.dataSeriess[i].data = self.dataSeriess[i].data.map(function (x) {
return { data: x };
});
}
答案 0 :(得分:2)
您可以循环浏览dataSeries.data
并将对象追加到myjs
(jsFiddle demo):
dataSeries.data = [10,20,40,40,20];
var myjs = [];
for(var i = 0; i < dataSeries.data.length; i++) {
myjs.push({ data: dataSeries.data[i] });
}
或者,如果您想使用Array.prototype.map
,那么您甚至不需要循环(jsFiddle demo):
dataSeries.data = [10,20,40,40,20];
var myjs = dataSeries.data.map(function(x) {
return { data: x };
});
答案 1 :(得分:1)
你的循环复杂了。
这是一个简单的.map()
示例。
http://jsbin.com/waxohezozu/1/edit?js,console
var data = [10,20,40,40,20];
data = data.map(function (e) {
return {
data: e
};
});
console.log(data);
答案 2 :(得分:1)
var myjs = dataSeries.data.map(function(x){
return {data: x};
});
答案 3 :(得分:0)
您可以使用:
function toObject(arr) {
var result = {};
for (var i = 0; i < arr.length; ++i)
result.push({data :arr[i] });
return result;
}