使用对象分配删除不同的属性-ES6
Using object assign to delete properties that are different -ES6
下面是我想要的 2 个对象 Object.assign(initalPlan, data),但我也想删除数据中未提供的字段。
const initialPlan = {
default_plan: false,
external_plan_id: fakeString,
public_available: true,
name: fakeString,
price: fakeNumber,
pricing_period: fakeNumber,
pricing_period_unit: fakeString,
space_limit: fakeNumber,
staff_max_limit: fakeNumber,
staff_min_limit: fakeNumber,
trial_period: fakeNumber,
trial_period_unit: fakeString,
};
和其他对象:
const data = {
external_plan_id: plan.external_plan_id,
space_limit: plan.space_limit,
staff_min_limit: plan.staff_min_limit,
staff_max_limit: plan.staff_max_limit,
file_storage_limit: plan.file_storage_limit,
file_storage_limit_unit: plan.file_storage_limit_unit,
default_plan: plan.default_plan,
};
有什么想法吗?
拥有 data
和 initialPlan
对象后,您可以执行类似的操作来删除 initialPlan
上 data
上不存在的属性。然后你可以使用 Object.assign(initialPlan, data)
.
const dataKeys = Object.keys(data);
const initialPlanKeys = Object.keys(initialPlan);
initialPlanKeys.forEach(k => {
if (!dataKeys.includes(k))
delete initialPlan[k];
});
您应该使用 Object.assign
并删除所有不属于数据的键
const initialPlan = {
key1: 1,
key2: 2,
key3: 3
}
const data = {
key1: 10,
key2: 0
}
Object.assign(initialPlan, data);
Object.keys(initialPlan).forEach(function(key){
if(!data.hasOwnProperty(key)) delete initialPlan[key];
});
console.log(initialPlan)
下面是我想要的 2 个对象 Object.assign(initalPlan, data),但我也想删除数据中未提供的字段。
const initialPlan = {
default_plan: false,
external_plan_id: fakeString,
public_available: true,
name: fakeString,
price: fakeNumber,
pricing_period: fakeNumber,
pricing_period_unit: fakeString,
space_limit: fakeNumber,
staff_max_limit: fakeNumber,
staff_min_limit: fakeNumber,
trial_period: fakeNumber,
trial_period_unit: fakeString,
};
和其他对象:
const data = {
external_plan_id: plan.external_plan_id,
space_limit: plan.space_limit,
staff_min_limit: plan.staff_min_limit,
staff_max_limit: plan.staff_max_limit,
file_storage_limit: plan.file_storage_limit,
file_storage_limit_unit: plan.file_storage_limit_unit,
default_plan: plan.default_plan,
};
有什么想法吗?
拥有 data
和 initialPlan
对象后,您可以执行类似的操作来删除 initialPlan
上 data
上不存在的属性。然后你可以使用 Object.assign(initialPlan, data)
.
const dataKeys = Object.keys(data);
const initialPlanKeys = Object.keys(initialPlan);
initialPlanKeys.forEach(k => {
if (!dataKeys.includes(k))
delete initialPlan[k];
});
您应该使用 Object.assign
并删除所有不属于数据的键
const initialPlan = {
key1: 1,
key2: 2,
key3: 3
}
const data = {
key1: 10,
key2: 0
}
Object.assign(initialPlan, data);
Object.keys(initialPlan).forEach(function(key){
if(!data.hasOwnProperty(key)) delete initialPlan[key];
});
console.log(initialPlan)