更新对象数组而不从另一个对象添加新属性
Update object array without adding new properties from another 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"}
我不想在我的表单对象上添加出生日期或任何新的 属性。
不确定这是否是您想要的,希望对您有所帮助
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);
仅在传播中添加所需的键而不是整个对象
form = { ...form, name: data.name, email: data.email };
遍历 form
中的所有键并使用 Object.assign
和 spread syntax
生成一个新对象。
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);
是否可以仅更新一个对象的现有 属性 值而不从另一个对象添加新属性?
这是我的例子。
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"}
我不想在我的表单对象上添加出生日期或任何新的 属性。
不确定这是否是您想要的,希望对您有所帮助
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);
仅在传播中添加所需的键而不是整个对象
form = { ...form, name: data.name, email: data.email };
遍历 form
中的所有键并使用 Object.assign
和 spread syntax
生成一个新对象。
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);