【发布时间】:2020-07-13 15:00:24
【问题描述】:
我正在使用具有配置对象的 javascript 模块。一个已经设置了默认值,用户可以传入值来覆盖这些设置值。我正在使用 Object.assign 来合并这两个对象。
这是一个例子:
const target = { a: 1, b: 2 }; // <-- default config
const source = { B: 4, c: 5 }; // <-- User input config
Object.assign(target, source);
console.log(target); //{a: 1, b: 2, B: 4, c: 5}
在这个例子中,如果用户不小心输入了大写字母“B”而不是小写字母,那么当我真正想要更新的小写字母“b”时,配置对象会为其自身添加另一个值。 我知道这是 Object.assign 的预期行为,但试图让用户更容易做到这一点并且不区分大小写。
【问题讨论】:
-
所以你需要创建一个循环遍历键并制作制服的方法。
-
或者让用户一开始就做对了。
-
您是否有混合大小写的字段名称、
firstEntry或类似的名称?