【问题标题】:how to print javascript object array?如何打印javascript对象数组?
【发布时间】:2019-12-25 14:13:56
【问题描述】:

我想在这里提一下,我对 JavaScript 很陌生。我有以下 JavaScript 对象数组。但是我怎么能在浏览器中打印这些值呢?它不会打印 document.write(vehicle);

var vehicle = [{name:'Van',wheel:4,chasino:0005},
                  {name:'Bus',wheel:6,chasino:0006}];

document.write(vehicle);

【问题讨论】:

  • 我可以使用 document.write() 打印它吗?
  • 你的预期输出是什么?
  • @Yousername Van 4 005 和 Bus 6 006

标签: javascript html arrays object printing


【解决方案1】:

JSON.Stringify 可以。

var vehicle = [{name:'Van',wheel:4,chasino:0005},
                  {name:'Bus',wheel:6,chasino:0006}];

document.write(JSON.stringify(vehicle));

仅打印值 -

var vehicle = [{name:'Van',wheel:4,chasino:0005}, {name:'Bus',wheel:6,chasino:0006}];

    document.write(
      vehicle
        .map(v => Object.values(v)) // retrive values from objects
        .flat()   // make linear array
        .join("<br/>")    // for new line as separator
    );

【讨论】:

  • 我只需要在这里打印值
  • 好的@Robin,我更新了代码,希望能达到你的预期。
【解决方案2】:

不确定我是否理解您希望代码执行的操作,但为了在“车辆”数组中打印对象的内容,我建议这样做:

const body = document.querySelector("body");
      var vehicle = [
        { name: "Van", wheel: 4, chasino: 0005 },
        { name: "Bus", wheel: 6, chasino: 0006 }
      ];
      const container = document.createElement("div");

      for (const objIndex of vehicle) {
        const list = document.createElement("ul");
        list.setAttribute("class", objIndex);
        for (const key in objIndex) {
          const liElement = document.createElement("li");
          liElement.innerHTML = `${key}:${objIndex[key]}`;
          list.appendChild(liElement);
        }
        container.appendChild(list);
      }
      body.appendChild(container);

【讨论】:

    【解决方案3】:

        Number.prototype.pad = function(size) {
            var s = String(this); 
            while (s.length < (size || 2)) {s = "0" + s;}
            return s;
        }    
        
        var vehicle = [{name:'Van',wheel:4,chasino:0005},
                              {name:'Bus',wheel:6,chasino:0006}];
            
            for(i=0;i<vehicle.length;i++){
               document.write(vehicle[i].name+" "+vehicle[i].wheel+" "+vehicle[i].chasino.pad(3)+" ");
            }

    【讨论】:

      【解决方案4】:

      var vehicle = [{name:'Van',wheel:4,chasino:0005},
                     {name:'Bus',wheel:6,chasino:0006}];
                  
      document.write(
        vehicle.map(a => Object.values(a).join(' '))
        .join('<br>')
      );

      【讨论】:

        【解决方案5】:

        您可能希望使用字符串 '0005' 而不是数字来保留 '000' 字符。

        var vehicle = [{name:'Van',wheel:4,chasino:'0005'},
                       {name:'Bus',wheel:6,chasino:'0006'}];
                    
        document.write(
          vehicle.map(a => Object.values(a).join(' '))
          .join('<br>')
        );

        【讨论】:

        • 但不在我身边
        【解决方案6】:

        试试这个...

        vehicle.map(v => {
            document.write(v.name)
            document.write(v.wheel)
            document.write(v.chasino)
        })
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-18
          • 2012-01-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多