JavaScript-如何打印对象中的所有值

JavaScript-如何打印对象中的所有值,javascript,Javascript,我试图从这个数组中获取一个对象,并将其所有值打印到一个div中,是否可能 function Car(company, name, price, details, image, alt){ this.company = company; this.name = name; this.price = price; this.details = details; this.image = image; t

我试图从这个数组中获取一个对象,并将其所有值打印到一个div中,是否可能

function Car(company, name, price, details, image, alt){ 
        this.company = company;
        this.name = name;
        this.price = price;
        this.details = details;
        this.image = image;
        this.alt = alt;
    }

var carInformation = [new Car("Company: Ferrari", "Name: Marenello", "Price: $250,000", "Details: Fast. Very Fast.", "images/ferrari.jpg","image of ferrari"),
                          new Car("Company: Dodge", "Name: Viper", "Price: $100,000","Details: Great Acceleration","images/dodge.jpg", "image of viper"),
                          new Car("Company: Ford", "Name: Shelby", "Price: $80,000", "Details: Muscle Car", "images/mustang.jpg", "image of mustang"),
                          new Car("Company: Back To The Future", "Name: Delorean", "Price: $20,000", "Details: Travels through time","images/delorean.jpg", "image of delorean"),
                          new Car("Company: Lamborghini", "Name: Diablo", "Price: $250,000", "Details: Fastest","images/lambo.jpg","image of lamborghini"),
                          new Car("Company: Mercedes Benz", "Name: SLR", "Price: $180,000", "Details: Classy Vehicle.","images/benz.jpg","image of mercedes benz"),
                          new Car("Company: Chevrolet", "Name: Corvette", "Price: $70,000", "Details: Fiberglass body Light Vehicle.","images/vette.jpg","image of corvette"),
                          new Car("Company: Porsche", "Name: Carrera", "Price: $120,000", "Details: Great Handling.","images/porsche.jpg", "image of porsche"),
                          new Car("Company: Audi", "Name: R8", "Price: $110,000", "Details: Fast and Classy.", "images/audi.jpg","image of audi") ];

    for(i=0;i<carInformation.length;i++) {
    $('#container').append('<div class="product"><li><a href="#" ><img src="' + carInformation[i].image + '" alt="' + carInformation[i].alt +'" ></img></a></li><div class="description"><p class="carCompany">'+ carInformation[i].company +'</p><p class="carName">'+ carInformation[i].name +'</p><p class="carPrice">'+ carInformation[i].price +'</p><p class="carDetails">'+ carInformation[i].details +'</p></div></div>');
    $('#productPage').append('<div id="carInfo">' + carInformation[i] + '</div>');

        }
功能车(公司、名称、价格、详细信息、图像、alt){
这个公司=公司;
this.name=名称;
这个价格=价格;
this.details=详细信息;
这个图像=图像;
this.alt=alt;
}
var carInformation=[新车(“公司:法拉利”,“名称:Marenello”,“价格:$250000”,“详细信息:快速.非常快速”,“图片/法拉利.jpg”,“法拉利图片”),
新车(“公司:道奇”,“名称:毒蛇”,“价格:$100000”,“细节:大加速”,“图片/Dodge.jpg”,“毒蛇图片”),
新车(“公司:福特”,“名称:谢尔比”,“价格:$80000”,“详细信息:肌肉车”,“图片/野马.jpg”,“野马图片”),
新车(“公司:回到未来”,“名称:德洛林”,“价格:$20000”,“详细信息:穿越时间”,“图片/Delorean.jpg”,“德洛林图片”),
新车(“公司:兰博基尼”,“名称:暗黑破坏神”,“价格:$250000”,“详细信息:最快”,“图片/lambo.jpg”,“兰博基尼图片”),
新车(“公司:梅赛德斯-奔驰”,“名称:单反”,“价格:$180000”,“详细信息:高档车”,“图片/奔驰.jpg”,“梅赛德斯-奔驰图片”),
新车(“公司:雪佛兰”,“名称:Corvette”,“价格:$70000”,“详细信息:玻璃纤维车身轻型车”,“images/vette.jpg”,“Corvette图像”),
新车(“公司:保时捷”,“名称:卡雷拉”,“价格:$120000”,“细节:出色的操控性”,“images/Porsche.jpg”,“保时捷形象”),
新车(“公司:奥迪”,“名称:R8”,“价格:$110000”,“细节:快速和优雅”,“图片/Audi.jpg”,“奥迪图片”);

对于(i=0;icarInformation[i]是一个对象。您所能做的最好的事情是,在您的car中添加一个原型方法,这样它会溢出所有属性,然后可以在div中进行渲染

function view(){
return "Company " + this.company + ",Name   " + this.Name + ", Price " + this.price ;
}


Car.prototype.view = view;

//and then use it inside div
 $('#productPage').append('<div id="carInfo">' + carInformation[i].view + '</div>');
函数视图(){
返回“Company”+this.Company+”,Name“+this.Name+”,Price“+this.Price;
}
Car.prototype.view=视图;
//然后在div中使用它
$('#productPage').append(''+carInformation[i].view+'');

您可以通过呈现HTML而不是普通字符串来控制car信息的显示方式。

carInformation[i]是一个对象。您最好向car添加一个原型方法,这样它会溢出所有属性,然后可以在div中呈现

function view(){
return "Company " + this.company + ",Name   " + this.Name + ", Price " + this.price ;
}


Car.prototype.view = view;

//and then use it inside div
 $('#productPage').append('<div id="carInfo">' + carInformation[i].view + '</div>');
函数视图(){
返回“Company”+this.Company+”,Name“+this.Name+”,Price“+this.Price;
}
Car.prototype.view=视图;
//然后在div中使用它
$('#productPage').append(''+carInformation[i].view+'');

您可以通过呈现HTML而不是普通字符串来控制汽车信息的显示方式。

试试这个,看看它的神奇之处:

alert(JSON.stringify(carInformation[0]));

试试这个,看看它的神奇之处:

alert(JSON.stringify(carInformation[0]));
首先:

var car = new Car( ... );
var $ul = $("<ul></ul>");
for(var key in car) {
  $ul.append("<li>" + car[key] + "</li>");
}
$('#container').append($ul);
var car=新车(…);
var$ul=$(“
    ”); 用于(车内var钥匙){ $ul.追加(“
  • ”+汽车[钥匙]+“
  • ”); } $('#container')。追加($ul);
    对于初学者:

    var car = new Car( ... );
    var $ul = $("<ul></ul>");
    for(var key in car) {
      $ul.append("<li>" + car[key] + "</li>");
    }
    $('#container').append($ul);
    
    var car=新车(…);
    var$ul=$(“
      ”); 用于(车内var钥匙){ $ul.追加(“
    • ”+汽车[钥匙]+“
    • ”); } $('#container')。追加($ul);
      您可以通过迭代对象来获取所有属性: 我想,在其他情况下,您也会打印对象,我认为这是一个很好的解决方案—迷你模板:)

      Car.prototype.view=函数(模板、分隔符){
      var arr=[],template=template | |“:”,
      分隔符=分隔符| |“\n”;
      foreach(vari在此){
      如果(this.hasOwnProperty(i)){
      arr[arr.length]=template.replace(“,i).replace(“,this[i]);
      }
      } 
      返回arr.join(分隔符);
      };
      //这将是汽车中每个属性名称的打印列表:)
      console.log(“
        ”+yourCar.view(“
      • ”)+“
      ”);
      这只是一个简单的例子,您可以根据自己的目的进行扩展。(某些属性的getter,例如-image属性,getter可能会立即返回图像标记:))

      我没有测试过这个,可能是缺少逗号之类的


      享受吧

      您可以通过遍历对象来获取所有属性: 我想,在其他情况下,您也会打印对象,我认为这是一个很好的解决方案—迷你模板:)

      Car.prototype.view=函数(模板、分隔符){
      var arr=[],template=template | |“:”,
      分隔符=分隔符| |“\n”;
      foreach(vari在此){
      如果(this.hasOwnProperty(i)){
      arr[arr.length]=template.replace(“,i).replace(“,this[i]);
      }
      } 
      返回arr.join(分隔符);
      };
      //这将是汽车中每个属性名称的打印列表:)
      console.log(“
        ”+yourCar.view(“
      • ”)+“
      ”);
      这只是一个简单的例子,您可以根据自己的目的进行扩展。(某些属性的getter,例如-image属性,getter可能会立即返回图像标记:))

      我没有测试过这个,可能是缺少逗号之类的


      享受吧

      您需要创建一些函数来将变量写入div。您可以将这些添加到
      汽车的原型中

      function Car(company, name, price, details, image, alt){ 
          this.company = company;
          this.name = name;
          this.price = price;
          this.details = details;
          this.image = image;
          this.alt = alt;
          }
      
      Car.prototype.product = function() {
          return '<li><a href="#"><img src="'+this.image +'"alt="'+this.alt+'"></img></a></li>';
          };
      
      Car.prototype.description = function() {
          return '<p class="carCompany">'+this.company+'</p><p class="carName">'+this.name +'</p><p class="carPrice">'+ this.price +'</p><p class="carDetails">'+ this.details +'</p>';
          };
      
      功能车(公司、名称、价格、详细信息、图像、alt){
      这个公司=公司;
      this.name=名称;
      这个价格=价格;
      this.details=详细信息;
      这个图像=图像;
      this.alt=alt;
      }
      Car.prototype.product=函数(){
      返回“
    • ”; }; Car.prototype.description=函数(){ 返回“

      ”+this.company+”

      “+this.name+”

      “+this.price+”

      “+this.details+”

      ; };
      然后可以调用对象上的函数来填充div

       for(i=0;i<carInformation.length;i++) {
          $('#container').append('<div class="product">'+carInformation[i].product()+'<div class="description">' + carInformation[i].description() + '</div></div>');
          }
      

      for(i=0;i您需要创建一些函数来将变量写入div。您可以将这些函数添加到原型中