自从我使用JavaScript以来,已经有一段时间了,而我只是试图想出用好奇心做JavaScript的不同方法。有人能告诉我如何在单个函数调用中输出cars
对象中的所有数据吗?我知道我可以使用点表示法单独输出特定值,但我想知道是否/如何一次性获取对象中cars
对象中每个对象的所有值。这可能吗?
var cars = [{
car1: {
"owner": "lois",
"make": "chevy",
"model": "malibu",
"year": "2011",
"color": "red"
}
}, {
car2: {
"owner": "jeff",
"make": "ford",
"model": "focus",
"year": "2002",
"color": "silver"
}
}, {
car3: {
"owner": "bob",
"make": "chrysler",
"model": "pacifica",
"year": "2008",
"color": "blue"
}
}, {
car4: {
"owner": "sallie",
"make": "toyota",
"model": "corolla",
"year": "2011",
"color": "black"
}
}];
function carOwners(obj_arr) {
//this.ownerName2 = cars[1].owner;
//this.ownerName3 = cars[2].owner;
//this.ownerName4 = cars[3].owner;
/* console.log("The vehicle owner's name are " + ownerName1 + ", " + ownerName2 + ", " + ownerName3 + ", and " + ownerName4 + "."); */
for (var i = 0, len = cars.length; i < len; i++) {
for (var key in cars) {
console.log(' name=' + key + ' value=' + cars[key]);
}
}
}
carOwners(cars);
//carOwners(cars[1].owner);
//carOwners(cars[2].owner);
//carOwners(cars[3].owner);
&#13;
当我运行该功能时,我得到以下结果(在Chrome中打开控制台),但这不是我想要的。我想查看每个数据(解析对象),而不是数据类型。
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
name=0 value=[object Object]
name=1 value=[object Object]
name=2 value=[object Object]
name=3 value=[object Object]
感谢。
ADDED 解释为什么这不重复: 这只是我的意见,但从我坐的地方来看,我的问题很简单:我想一举输出一个对象的所有值。我没有检查缺失值。在另一个线程中非常明显的是,查询是关于检查缺失值,而不是在我询问如何操作时输出一个函数调用中的所有值。在这个帖子中,我在下面的评论中解决了重复的比较。我没有说出我的问题,寻找任何遗漏的东西,我知道我不会阅读那个帖子来找到我的答案。想一想,当我开始在标题框中输入我的问题时,那个问题(你列出来进行比较)从不出现了 - 我读了我的答案的标题框中显示的每个建议,以及在花时间写出所有这些内容之前在页面的右侧。我无法解释它比这更好。感谢。
答案 0 :(得分:2)
不确定这是否正是您所要求的,但您可以这样做:
console.log(JSON.stringify(cars));
答案 1 :(得分:1)
或者,您可以使用cars.toString(),除非它是一些内置函数,否则它将起作用,但不会转换嵌套对象。
有subtle differences,但两者都应该达到预期的效果
答案 2 :(得分:1)
将您的汽车数组传递到此功能:
$.getJSON(your_variable, function (data){
$.each(data, function(key, val) {
for(var i in val) {
console.log("owner is: " + val[i].owner);
console.log("make is: " + val[i].make);
console.log("model is " + val[i].model);
console.log("year is " + val[i].year);
console.log("color is " + val[i].color);
}
});
});