这里的深拷贝是不是忽略了对象数组的情况?

来源:9-3 合并配置的设计与实现 - 配置合并策略(下)

Valar丶Morghulis

2020-04-20

export function deepMerge(...objs: any[]): any {
  const result = Object.create(null);
  objs.forEach(obj => {
    if (obj) {
      Object.keys(obj).forEach(key => {
        const val = obj[key];
        if (isPlainObject(val)) {
          if(isPlainObject(result[key])){
            result[key] = deepMerge(result[key],val);
          }
          result[key] = deepMerge(val);
        } else {
          result[key] = val;
        }
      })
    }
  })
  return result;
}

如题;如果是数组的话好像直接拷贝过去的没有经过深度遍历拷贝

写回答

1回答

ustbhuangyi

2020-04-21

嗯,这里确实没有考虑数组的情况,数组也不在我们的应用场景中。

0
0

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2631 学习 · 877 问题

查看课程