下面是我想要的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,
};
有什么想法吗?
答案 0 :(得分:0)
获得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];
});
。
function returnHighest() {
var maxH = 0;
$('.termPanel').each(function(index, elmt){
var elmtH = $(elmt).outerHeight();
if (elmtH > maxH) {
maxH = elmtH;
}
});
return maxH;
}
var h = returnHighest();
$('.termPanel').css('height', h);
答案 1 :(得分:-1)
您应该使用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)