2020-07-07
描述
给对象中的所有 undefined
的属性分配默认值。
提示
- 使用
Object.assign()
创建一个空的对象 - 将原始对象按照键的顺序拷贝到空对象中
- 使用
Array.prototype.reverse()
和扩展运算符...
按照从左到右的顺序合并默认值 - 最后再次使用
obj
以覆盖原始属性已经拥有的值
代码
const defaults = (obj, ...defs) => Object.assign({}, obj, ...defs.reverse(), obj);
示例
填充默认值:
defaults({ a: 1 }, { b: 2 }, { b: 6 }, { a: 3 }); // { a: 1, b: 2 }