JavaScript-如何打印对象中的所有值
我试图从这个数组中获取一个对象,并将其所有值打印到一个div中,是否可能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
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。您可以将这些函数添加到原型中