自从我使用 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);
当我运行该函数时,我得到以下结果(在 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 来解释为什么这不是重复的: 这只是我的意见,但从我的 Angular 来看,我的问题很简单:我想一次性输出一个对象的所有值。我没有检查缺失值。在另一个线程中非常明显,查询是关于检查缺失值,而不是像我问的那样在一个函数调用中输出所有值。在此线程中,我在下面的评论中解决了重复比较。我没有提出我的问题来寻找任何遗漏的东西,而且我知道我不会阅读该线程来找到我的答案。想一想,当我开始在标题框中输入我的问题时,那个问题(您为了比较列出的)从未出现——我读到在花时间写下所有这些之前,在我的答案的标题框中以及页面右侧显示的每条建议。我没有比这更好的解释了。谢谢。
最佳答案
不确定这是否正是您要问的,但您可以这样做:
console.log(JSON.stringify(cars));
关于javascript - 如何使用 javascript 从 JavaScript 对象(包含对象数组)获取所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32407662/