数组到自定义Javascript对象

时间:2015-05-22 02:14:22

标签: javascript

我有以下数组:

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 };
    });
}

4 个答案:

答案 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;
}