将普通数组转换为html中的对象数组

Convert normal array into an object array in html

本文关键字:数组 对象 html 转换      更新时间:2023-09-26

我有以下数组列表:

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

你们知道怎么做吗?

abc[0]初始化为对象,然后更新其属性。

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

或者用all object属性初始化。

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

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

基本上你的number,counter, time数组是这样的

可以使用forEach array方法循环遍历每个对象并填充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