在JavaScript中循环遍历对象
如何实现/修复上述代码?我认为上面的代码是不言自明的。假设您试图复制所有属性,您可能正在寻找:在JavaScript中循环遍历对象,javascript,Javascript,如何实现/修复上述代码?我认为上面的代码是不言自明的。假设您试图复制所有属性,您可能正在寻找: if(properties != undefined) { foreach(key in properties) { dialogProperty.key = property[key]; } alert(dialogProperty.close); } dialogProperty.key不是动态的,它每次都设置key属性,就像dialogPrope
if(properties != undefined)
{
foreach(key in properties)
{
dialogProperty.key = property[key];
}
alert(dialogProperty.close);
}
dialogProperty.key不是动态的,它每次都设置key属性,就像dialogProperty[key]一样。我想你指的是for而不是foreach。您还应该停止密钥的全局性,并使用Object.prototype.hasOwnProperty:
NB也成立了
属性&&检查是为了确保属性没有错误
Object.keys调用返回properties对象具有的所有键的数组
.forEach为数组中的每个元素运行一个函数
dialogProperty[key]=properties[key]将dialogProperty的值设置为properties的值。或使用Object.KeyProperties。forEach@Raynos如果假设ECMAScript为5,则是。我不是100%相信OP是在那个阶段…有趣的是,浏览器在优化方面是多么的不同+对于这种方法,我只想澄清Object.keys只返回可枚举键,这在这里当然是需要的。
dialogProperty[key] = property[key];
if(properties != undefined)
{
for (var key in properties)
{
if (properties.hasOwnProperty(key) {
dialogProperty[key] = properties[key]; // fixed this variable name too
}
}
alert(dialogProperty.close);
}
properties && Object.keys(properties).forEach(function(key) {
dialogProperty[key] = properties[key];
});
console.log(dialogProperty.close);