[英]Looping through object in JavaScript
if(properties != undefined)
{
foreach(key in properties)
{
dialogProperty.key = property[key];
}
alert(dialogProperty.close);
}
如何實現/修復以上代碼? 我認為上面的代碼是不言自明的。
我想你的意思for
,而不是foreach
。 您還應該停止全局key
,並使用Object.prototype.hasOwnProperty
:
if(properties != undefined)
{
for (var key in properties)
{
if (properties.hasOwnProperty(key) {
dialogProperty[key] = properties[key]; // fixed this variable name too
}
}
alert(dialogProperty.close);
}
NB Incorporated Kobi也修復了該問題。
假設您要復制所有屬性,則可能正在尋找:
dialogProperty[key] = property[key];
dialogProperty.key
不是動態的,它每次都設置key
屬性,就像dialogProperty["key"]
一樣。
properties && Object.keys(properties).forEach(function(key) {
dialogProperty[key] = properties[key];
});
console.log(dialogProperty.close);
properties &&
檢查是為了確保屬性不虛假。
Object.keys
調用返回properties
對象具有的所有鍵的數組。
.forEach
為數組中的每個元素運行一個函數。
dialogProperty[key] = properties[key]
設置dialogProperty的值為屬性值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.