【发布时间】:2016-11-01 13:55:17
【问题描述】:
作为练习,我正在尝试学习如何打印 JS 对象的键和值。我很难过。
以下是我写的一个基本对象,只想打印出key : value
var obTest = {
name: "John",
WeddingDate: "10/18/2008",
NumberKids: "2",
Website: "www.samplewebsite.com
};
/* VERSION 1
for (var key in obTest) {
// skip loop if the property is from prototype
if (!obTest.hasOwnProperty(key)) continue;
var obKey = obTest[key];
for (var obProp in obKey) {
// skip loop if the obProperty is from prototype
if(!obKey.hasOwnProperty(obProp)) continue;
// your code
alert(obProp + " : " + obKey[obProp]);
}
};
// note: this prints each character as a key:value
*/
/* VERSION 2
for (var key in obTest) {
if (obTest.hasOwnProperty(key)) {
var obKey = obTest[key];
for (var prop in obKey) {
if (obKey.hasOwnProperty(prop)) {
console.log(prop + " : " + obKey[prop]);
}
}
}
};
// note: this prints each character as a key:value
*/
// VERSION 3
Object.keys(obTest.forEach(function(key) {
console.log(key, obTest[key]);
}));
// note: this gives me a breakpoint and can't figure out why it does not work
如前所述,VERSION 1 和 VERSION 2 打印相同的输出,如下所示:
0 : J
1 : o
2 : h
3 : n
0 : 1
1 : 0
2 : /
3 : 1
4 : 8
5 : /
6 : 2
7 : 0
8 : 0
9 : 8
0 : 2
0 : w
1 : w
2 : w
3 : .
4 : s
5 : a
6 : m
7 : p
8 : l
9 : e
10 : w
11 : e
12 : b
13 : s
14 : i
15 : t
16 : e
17 : .
18 : c
19 : o
20 : m
我使用 VERSION 3 的 Visual Studio Code 获得了一个断点。
请帮我做一个这样的输出:
name : John
WeddingDate : 10/18/2008
NumberKids : 2
Website : www.samplewebsite.com
我不想有数字键,尤其是那些重复的。我读的其他文章似乎没有任何意义。 Python 在迭代和打印对象键和值方面似乎非常简单。
谢谢!
【问题讨论】:
标签: javascript object for-loop