如何升級以下對象以便生成下面列出的輸出?對存儲在對象中的鍵值項目進行迭代
var obj = { a: "1", b: "2", c: "3" };
預期輸出:
指數:0 VALUE1:一個值2:1
索引:1 VALUE1:乙VALUE2:2
指數:2值1:C值2:3
如何升級以下對象以便生成下面列出的輸出?對存儲在對象中的鍵值項目進行迭代
var obj = { a: "1", b: "2", c: "3" };
預期輸出:
指數:0 VALUE1:一個值2:1
索引:1 VALUE1:乙VALUE2:2
指數:2值1:C值2:3
您可以使用for .. in
來替代對象的鍵,並使用單獨的索引計數器:
var index = 0;
for (var key in obj) {
console.log("index: " + index + " value1: " + key + " value2: " + obj[key]);
++index;
}
如果你的環境理智,這應該是正常的;如果沒有,你將不得不添加強制性hasOwnProperty()
支票。
在現代瀏覽器中使用Object.keys()
對對象鍵進行迭代是可能的,但是如果內存太緊,上述方法將更可取。
在現代瀏覽器中,你可以循環是這樣的:
Object.keys(obj).forEach(function(key, i){
console.log('index: '+ i, 'key: '+ key, 'value: '+ obj[key]);
});
這是一個對象,你試圖重複其作爲數組。使用for-in結構。
var obj = { a: "1", b: "2", c: "3" };
for(var opt in obj) {
console.log(opt + ": " + obj[opt]);
}
ü應該參閱作爲VALUE1鍵和value2作爲值IMHO – DarkBee
http://stackoverflow.com/questions/3068534/getting-javascript-object-key-list – DarkBee
'obj.length'是未定義的簡單像這樣的對象... – filmor