【发布时间】:2016-08-21 10:27:51
【问题描述】:
我有一个带有一些键和值的 Javascript 对象:
var obj = {
"key1" : "val1",
"key2" : "val2",
"key3" : "val3",
"key4" : ""
}
我想迭代所有键并检索所有值。
我尝试了两种方法:
1) 使用 for(var key in keys)
var keys = Object.keys(obj);
for (var key in keys) {
// ...
}
这个解决方案的问题是keys对象是一个数组,所以我必须使用obj[keys[key]]]。 不是很漂亮。
此外,检查“key4”,返回值为“0”而不是“”(空)。
2) 使用 forEach
Object.keys(obj).forEach(function(key){
// ...
});
这种情况下的问题是,如果我尝试这样做:
Object.keys(obj).forEach(function(key){
obj[key]; // <- obj is undefined !!
});
“obj”变量在 foreach 中未定义!
迭代所有键以检索所有值的最佳方法是什么?
谢谢
【问题讨论】:
-
@PranavCBalan 索引是第二个参数developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript arrays json object