如何将数组数组转换为对象数组

时间:2014-11-11 01:39:00

标签: javascript arrays javascript-objects

我正在尝试获取一组数字并将其组成一个对象数组。这是我到目前为止所做的,我不知道为什么它不起作用。 (这是javaScript)

var objectArray = function (n, array){
    var multProblem = {Problem: "" ,Answer: 0};
    var newArray = [];
    for(var count = 0; count < array.length ; count++){
        multProblem.problem = "" + n + " x " + count;
        multProblem.answer = array[count];
        //console.log(multProblem);
        newArray.push(multProblem);
     }
     return newArray;
}

当我使用console.log时,它会显示我想要显示的内容,但是当我尝试将其推送到数组时,每个对象都会出现问题:2x10答案:20。如果有人可以提供帮助,那就是非常感激。

2 个答案:

答案 0 :(得分:0)

在循环内移动var multProblem = {};,为array中的每个项目移动{/ 1}},您可以拥有唯一的对象。

var objectArray = function (n, array){  
var newArray = [];
for(var count = 0; count < array.length ; count++){
    var multProblem = {};
    multProblem.problem = "" + n + " x " + count;
    multProblem.answer = array[count];
    //console.log(multProblem);
    newArray.push(multProblem);
 }
 return newArray;
}

答案 1 :(得分:0)

为什么这么多的复杂功能足够了:

newArray.push({Problem: "" + n + " x " + count ,Answer: array[count]});

整件事:

var objectArray = function (n, array){
    var newArray = [];
    for(var count = 0; count < array.length ; count++){
        newArray.push({Problem: "" + n + " x " + count, Answer: array[count]});
     }
     return newArray;
}