2016-06-25 1 views
1

У меня есть список ниже массива:Преобразовать обычный массив в массив объектов в HTML

var number = []; 
var counter = []; 
var time = []; 

number[0] = "1212"; 
counter[0] = "2"; 
time[0] = "12:30PM"; 

number[1] = "9367"; 
counter[1] = "4"; 
time[1] = "05:30PM"; 

number[2] = "4786"; 
counter[2] = "8"; 
time[2] = "09:30AM"; 

Как преобразовать выше в массив объектов, как показано ниже:

var abc = [ 
{number: "1212", counter: "2", time: "12:30PM"}, 
{number: "9367", counter: "4", time: "05:30PM"}, 
{number: "4786", counter: "8", time: "09:30AM"} 
]; 

До сих пор, Я попытался использовать ниже кодирование для преобразования, но не удалось:

var abc=[]; 
abc[0].number = "1212"; 
abc[0].counter = "2"; 
abc[0].time = "12:30PM"; 

Вы знаете, как?

+0

Почему вы не создать нужную структуру в первую очередь? Инициализируйте объекты и вставьте их в массив. – undefined

+0

Как мы инициализируем? – Coolguy

+0

В этой статье описывается: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer – undefined

ответ

1

Инициализировать abc[0] как объект, затем обновляет его свойство.

var abc = []; 
 
abc[0] = {}; 
 
abc[0].number = "1212"; 
 
abc[0].counter = "2"; 
 
abc[0].time = "12:30PM"; 
 

 
console.log(abc);

или инициализировать его со всеми свойствами объекта.

var abc = []; 
 
abc[0] = { 
 
    number: "1212", 
 
    counter: "2", 
 
    time: "12:30PM" 
 
} 
 

 
console.log(abc);

1
number.map(function(num,index) { 
return { 
number: number[index], 
counter: counter[index], 
time: time[index] 
} 
}) 
0

В основном ваш number,counter, time массив, как это.

Вы можете использовать метод forEach массива цикл по каждому из объекта и заполнить AbC массив, item & index являются параметрами, которые принимаются функцией Foreach

var number = ["1212","9367","4786"]; 
    var counter = ["2","4","8"]; 
    var time = ["12:30PM","05:30PM","09:30AM"]; 

    var abc =[]; 

    number.forEach(function(item,index){ 
    abc.push({ 
     name:number[index], 
     counter:counter[index], 
     time:time[index] 
    }) 
    }) 

console.log(abc) 

JSFIDDLE

Смежные вопросы