【问题标题】:Convert normal array into an object array in html将普通数组转换为html中的对象数组
【发布时间】:2016-06-25 15:09:15
【问题描述】:

我有以下数组列表:

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

你们知道吗?

【问题讨论】:

标签: javascript jquery html arrays


【解决方案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);

【讨论】:

    【解决方案2】:
    number.map(function(num,index) {
    return {
    number: number[index],
    counter: counter[index],
    time: time[index]
    }
    })
    

    【讨论】:

      【解决方案3】:

      基本上你的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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-20
        • 2019-09-27
        • 2016-08-30
        • 1970-01-01
        • 2021-06-07
        • 1970-01-01
        • 2017-01-10
        相关资源
        最近更新 更多