簡體   English   中英

使用ES6解構簡化javascript對象創建

[英]Simplify javascript object creation using ES6 destructuring

有沒有一種方法可以通過使用分解來簡化用戶對象的更新,其中我有一個舊對象,並且我想更新為具有相同名稱的新對象。

我想使用相同的用戶對象並更新值,而不是創建一個新對象。

function UpdateUserProps(user, updatedUser) {
    const { email, status } = updatedUser;
    user.email = email;
    user.status = status;
    return user;
}

您可以在對象中使用擴展語法... 這將創建一個新對象。

 function UpdateUserProps(user, updatedUser) { return {...user, ...updatedUser} } 

您還可以使用參數解構從更新對象獲取特定屬性。

 function UpdateUserProps(user, {email, status}) { return {...user, ...{email, status}} } let user = { name: "foo", email: "foo", status: true } console.log(UpdateUserProps(user, { email: "bar", status: false })) 

您也可以使用Object.assign來完成,而無需破壞結構

function updateUserProps(user, updatedUser) {
 return Object.assign({}, user, updatedUser);
}

如果要在同一用戶對象中更新

function updateUserProps(user, updatedUser) {
 return Object.assign(user, updatedUser);
}

暫無
暫無

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

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