2014-11-11 3 views
1

Я пытаюсь взять массив чисел и превратить их в массив объектов. Вот что у меня есть, и я не уверен, почему он не работает. (Это 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. Если кто-то может помочь, это будет очень признательно.

+1

Попробуйте http://stackoverflow.com/questions/4215737/convert-array- для объекта – saruftw

ответ

0

Перемещение 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; 
} 
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; 
} 
Смежные вопросы