我有一些鍵和值的Javascript對象:如何通過鍵獲取Javascript對象的所有值?
var obj = {
"key1" : "val1",
"key2" : "val2",
"key3" : "val3",
"key4" : ""
}
我想要遍歷所有的鍵和檢索的所有值。
我試圖2種方式:
1)使用用於在鍵(VAR鍵)
var keys = Object.keys(obj);
for (var key in keys) {
// ...
}
這種解決方案的問題是,密鑰對象是一個數組,所以必須使用OBJ [按鍵[鍵]]]。 不是很漂亮。
此外,檢查「key4」,返回值是「0」而不是「」(空)。
2)及如何使用foreach
Object.keys(obj).forEach(function(key){
// ...
});
在這種情況下的問題是,如果我嘗試做:
Object.keys(obj).forEach(function(key){
obj[key]; // <- obj is undefined !!
});
的 「目標文件」 變量在foreach未定義!
什麼是迭代所有鍵檢索所有值的最佳方法?
謝謝
@PranavCBalan該索引是第二個參數https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach – jcubic
可能的重複[如何獲取所有屬性值的一個Javascript對象(不知道鍵)?](http://stackoverflow.com/questions/7306669/how-to-get-all-properties-values-of-a-javascript-object-without-knowing-the-key ) –