我有一个带有一些键和值的 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 中未定义!
遍历所有键以检索所有值的最佳方法是什么?
谢谢
最佳答案
只需使用for in
。
var obj = {
"key1" : "val1",
"key2" : "val2",
"key3" : "val3",
"key4" : ""
};
for (var key in obj) {
console.log(key); // key1 and etc...
console.log(obj[key]); // val1 and etc...
}
关于javascript - 如何通过键获取 Javascript 对象的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36884483/