Tôi có một Object a
như thế:Object.assign-override lồng sở hữu
const a = {
user: {
…
groups: […]
…
}
}
trong đó có rất nhiều tài sản trong a.user
Và tôi muốn thay đổi chỉ có giá trị a.user.groups
. Nếu tôi làm điều này:
const b = Object.assign({}, a, {
user: {
groups: {}
}
});
b
không có bất kỳ tài sản nào khác ngoài b.user.groups
, tất cả những người khác sẽ bị xóa. Có cách nào ES6 để chỉ thay đổi thuộc tính lồng nhau, mà không mất tất cả các khác, với Object.assign
?
có vẻ như đang làm những gì 'Object.assign' được cho là. Nó đang thay đổi thuộc tính 'user' bằng đối tượng mới mà bạn cung cấp. Nếu đó là điều duy nhất bạn muốn thay đổi tại sao bạn không chỉ đơn giản là làm 'b.user.groups =/* value * /'? – taguenizy