簡體   English   中英

更新 object 數組而不添加來自另一個 object 的新屬性

[英]Update object array without adding new properties from another object

是否可以只更新 object 的現有屬性值而不添加另一個 object 的新屬性?

這是我的例子。

form = {name: '',email: ''};
data = {name: 'sample', email: 'sample@gmail.com', datofbirth: '6/2/1990' };

form = {...form, ...data};

console.log(form);

結果:

{"name":"sample","email":"sample@gmail.com","datofbirth":"6/2/1990"}

預期結果:

{"name":"sample","email":"sample@gmail.com"}

我不想在我的表格 object 上添加出生日期或任何新屬性。

不確定這是你想要的,希望對你有幫助

 const form = { name: '', email: '' }; const data = { name: 'sample', email: 'sample@gmail.com', datofbirth: '6/2/1990', }; Object.keys(form).forEach(key => { if (data.hasOwnProperty(key)) { form[key] = data[key]; } }); console.log(form);

只在傳播中添加您想要的鍵,而不是整個 object

form = { ...form, name: data.name, email: data.email };

遍歷form中的所有鍵,並使用Object.assignspread syntax生成新的 object。

 const form = {name: '',email: ''}, data = {name: 'sample', email: 'sample@gmail.com', datofbirth: '6/2/1990' }, result = Object.assign(...Object.keys(form).map(k => ({[k]: data[k]}))); console.log(result);

暫無
暫無

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

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