自从我使用JavaScript以来,我一直在想一些不同的方式来在好奇心中用JavaScript做事情。有人能告诉我如何在单个函数调用中输出cars
对象中的所有数据吗?我知道我可以使用点符号单独输出特定值,但我想知道是否/如何一次性获取对象中cars
对象中每个对象的所有值。这可能吗?如何从JavaScript对象(包含对象数组)使用javascript获取所有值
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);
当我运行该功能,我得到的结果如下(在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解释这是为什么不重复: 这只是我的看法,但我坐在那里,我的问题很简单:我要输出对象的所有值一举。我没有检查缺失值。在另一个线程中非常明显,查询是关于检查缺失值,而不是在一个函数调用中输出所有值,因为我正在询问如何执行。在这个线程中,我在下面的注释中解决了重复的比较。我没有提出我的问题来寻找缺失的东西,而且我知道我不会阅读该线索来找到我的答案。想想吧,当我开始在标题框中输入我的问题时,那个问题(您列出的比较)从不出现 - 我读每个建议显示在我的标题框中回答,以及在页面的右侧,然后花时间写出所有这些。我不能解释它比这更好。谢谢。
这不是JSON,它是一个JavaScript对象字面量。 – meagar
[检查数组键是否存在于JavaScript对象或数组中?](http://stackoverflow.com/questions/1098040/checking-if-an-array-key-exists-in-a-javascript-对象或数组) – Ryan
它似乎不是那个的重复 –