簡體   English   中英

如何從具有相同屬性名稱的對象設置很多類屬性?

[英]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
}

我想設置一個具有完全相同屬性的類。

我可以這樣:

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中是否可能發生這種行為嗎?

我想用一個循環設置我的類屬性。

檢查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];
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM