Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tạo đối tượng dựa trên hai đối tượng khác trong JavaScript


Giả sử chúng ta có hai đối tượng JavaScript định nghĩa như sau:

const a = { 
    a: 1, 
    af: function() { console.log(this.a) }, 
}; 
const b = { 
    b: 2, 
    bf: function() { console.log(this.b) }, 
};

Cần viết hàm nhận hai đối tượng và tạo đối tượng mới chứa thuộc tính của cả a và b:

const output = { 
    a: 1, 
    af: function() { console.log(this.a) }, 
    b: 2, 
    bf: function() { console.log(this.b) }, 
}

Lưu ý a và b phải giữ nguyên.

Ví dụ

Mã thực hiện như sau:

const a = { 
    a: 1, 
    af: function() { console.log(this.a) }, 
}; 
const b = { 
    b: 2, 
    bf: function() { console.log(this.b) }, 
}; 
const extend = function(){ 
    let i, j, x, res=(arguments[0] || {}); 
    for (i = 1; i < arguments.length; i++) { 
        const x = arguments[i]; 
        for (j in x) { 
            if (x.hasOwnProperty(j)) { 
                res[j] = x[j]; 
            } 
        } 
    } 
    return res; 
}; 
const c = extend({}, a, b); 
console.log(c);

Kết quả

Kết quả trong console sẽ là:

{ a: 1, af: [Function: af], b: 2, bf: [Function: bf] }