js使用Lodash实现对象的深拷贝

简述

是一个一致性、模块化、高性能的 JavaScript 实用工具库。

安装

$ npm i -g npm
$ npm i --save lodash

“Object” Methods defaultsDeep 使用说明

格式

_.defaultsDeep(object, [sources])

参数

object (Object): 目标对象。
[sources] (...Object): 来源对象

返回

返回 object

编码实战

import _ from "lodash";

const sourceObject = {
    
    
  leftContent: [
    {
    
    
      id: 1,
      title: '取值',
    },
    {
    
    
      id: 2,
      title: '类型+取值',
    }
  ],
  middleContent: [
    {
    
    
      id: 1,
      title: '容器',
      container: [
        {
    
    
          id: 3,
          title: '参数确认',
        },
        {
    
    
          id: 4,
          title: '文本输入',
        },
      ]
    },
  ],
}

let objectDeepCopy;
objectDeepCopy = _.defaultsDeep(objectDeepCopy, sourceObject);
console.log(objectDeepCopy === sourceObject); // > false
console.log(objectDeepCopy.middleContent === sourceObject.middleContent); // > false
console.log(objectDeepCopy.middleContent[0].container === sourceObject.middleContent[0].container); // > false

参考资料

lodash官方文档

猜你喜欢

转载自blog.csdn.net/tianxintiandisheng/article/details/106899369