我试图将一个数字数组,并使其成为一个对象数组。这是我到目前为止的内容,我不确定为什么它不起作用。 (这是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.如果有人可以帮助,将不胜感激。

最佳答案

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

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

09-25 17:04