3、将对象的属性值重置为指定的默认值,并根据指定规则对部分属性进行特殊设定
export function objectReset(obj = {}, defaultVal = null, rules = {}) {
if (Object.prototype.toString.call(rules) !== "[object Object]") {
console.error("rules 必须是对象");
return;
}
Object.keys(obj).forEach((value) => {
if (rules.hasOwnProperty(value)) {
obj[value] = rules[value];
} else {
obj[value] = defaultVal;
}
});
}
注意,该函数没有返回值,而是直接修改了输入的对象。
该函数可以应用于数据清洗、对象设定等场景,可以方便地对多个属性进行规整和设定默认值,提高代码重用性和可维护性。
例如:
const obj = { a: 1, b: 2, c: 3 }; const defaultVal = null; const rules = { a: 4 }; objectReset(obj, defaultVal, rules); console.log(obj); // { a: 4, b: null, c: null } 执行 objectReset(obj, defaultVal, rules) 后,对象中的属性 a 被特别设定成了 4,而属性 b 和 c 则被重置成了默认值 null。
具体大家可以自己试一下