![](/img/trans.png)
[英]how to deep copy a JavaScript object from another without adding new properties
[英]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.assign
和spread 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.