如何从具有相同 属性 名称的对象中设置很多 class 属性?
How to set a lot a class properties from an object with the same property names?
我在 JS 工作,我得到了以下具有很多属性的对象:
var foo = {
prop1: 123,
prop2: 456,
prop3: 789,
...
propX: 321
}
我想设置一个 class 具有完全相同的属性。
我可以这样做:
this.prop1 = foo.prop1
this.prop2 = foo.prop2
this.prop2 = foo.prop2
...
this.propX = foo.propX
但我正在寻找类似的东西:
for(var property in foo) {
this.[property] = foo[property]
}
你知道在 JS 中是否可以实现这种行为吗?
我想用一个循环设置我的 class 属性。
检查this
是否有属性然后从foo
赋值
for(var property in foo) {
if(this.hasOwnProperty(property)) {
this[property] = foo[property];
}
}
或者更好的方法是循环 this
中的所有键,您不需要 if
语句。
遍历源对象 属性 键并将值复制到目标对象,如下所示:
var foo = {
prop1: 123,
prop2: 456,
prop3: 789,
...
propX: 321
}
// Copy properties across
var target = {};
var keys = Object.keys(foo);
keys.forEach(function(key){
target[key] = foo[key];
});
我在 JS 工作,我得到了以下具有很多属性的对象:
var foo = {
prop1: 123,
prop2: 456,
prop3: 789,
...
propX: 321
}
我想设置一个 class 具有完全相同的属性。
我可以这样做:
this.prop1 = foo.prop1
this.prop2 = foo.prop2
this.prop2 = foo.prop2
...
this.propX = foo.propX
但我正在寻找类似的东西:
for(var property in foo) {
this.[property] = foo[property]
}
你知道在 JS 中是否可以实现这种行为吗?
我想用一个循环设置我的 class 属性。
检查this
是否有属性然后从foo
for(var property in foo) {
if(this.hasOwnProperty(property)) {
this[property] = foo[property];
}
}
或者更好的方法是循环 this
中的所有键,您不需要 if
语句。
遍历源对象 属性 键并将值复制到目标对象,如下所示:
var foo = {
prop1: 123,
prop2: 456,
prop3: 789,
...
propX: 321
}
// Copy properties across
var target = {};
var keys = Object.keys(foo);
keys.forEach(function(key){
target[key] = foo[key];
});