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官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章