我有以下forEach
遍歷一個JSON對象調用obj
:JSON的forEach得到鍵和值
Object.keys(obj).forEach(function(){
});
我怎樣才能使它console.log
都key
和對象內的每個項目的value
?像這樣:
Object.keys(obj).forEach(function(k, v){
console.log(k + ' - ' + v);
});
這可能嗎?
我有以下forEach
遍歷一個JSON對象調用obj
:JSON的forEach得到鍵和值
Object.keys(obj).forEach(function(){
});
我怎樣才能使它console.log
都key
和對象內的每個項目的value
?像這樣:
Object.keys(obj).forEach(function(k, v){
console.log(k + ' - ' + v);
});
這可能嗎?
使用索引符號與關鍵。
Object.keys(obj).forEach(function(k){
console.log(k + ' - ' + obj[k]);
});
嘗試這樣:
var prop;
for(prop in obj) {
if(!obj.hasOwnProperty(prop)) continue;
console.log(prop + " - "+ obj[prop]);
}
假設obj
是預構建的對象(而不是一個JSON字符串),您可以通過以下實現:
Object.keys(obj).forEach(function(key){
console.log(key + '=' + obj[key]);
});
另一種簡單的方法來做到這一點是通過以下語法通過對象迭代,保持訪問鍵和值:
for(var key in object){
console.log(key + ' - ' + object[key])
}
所以你:
for(var key in obj){
console.log(key + ' - ' + obj[key])
}
在這種情況下,必須使用'hasOwnProperty',因爲for ...在構造中包含通過原型鏈繼承的屬性。 –
'hasOwnProperty'不是必須的,因爲'Object.keys'已經只包含了自己的屬性。 ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)) –
Doenst Object.keys()確保只有對象本身的屬性是訪問?所以不需要hasOwnProperty? – fubbe
這是非常真實的,很好的捕捉。 – duncanhall