繁体   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