Javascript中使用Lodash工具库的cloneDeep函数实现深拷贝

前言

最近在看Vue_shop实战项目-电商管理系统(Element-UI)的B站视频,看到 P172 08.商品添加-把goods_cat从数组转换为字符串时,讲到了Lodash这个工具库的cloneDeep方法的使用。
Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库,其官网地址为:https://www.lodashjs.com/,Github托管地址为:https://github.com/lodash/lodash

Loadsh的使用介绍

下载loadsh

安装

  • 浏览器环境:
<script src="lodash.js"></script>
  • 通过 npm:
$ npm i -g npm
$ npm i --save lodash
  • Node.js:
// Load the full build.
var _ = require('lodash');
// Load the core build.
var _ = require('lodash/core');
// Load the FP build for immutable auto-curried iteratee-first data-last methods.
var fp = require('lodash/fp');
 
// Load method categories.
var array = require('lodash/array');
var object = require('lodash/fp/object');
 
// Cherry-pick methods for smaller browserify/rollup/webpack bundles.
var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
  • 注意:
    如需在 Node.js < 6 的 REPL 环境中使用 Lodash,请安装 n_

为什么选择 Lodash ?

Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。
Lodash 的模块化方法 非常适用于:

  • 1、遍历 array、object 和 string
  • 2.、对值进行操作和检测
  • 3、创建符合功能的函数

模块格式

Lodash 提供 多种构建方式 和模块格式。

lodash & per method packages
lodash-es, babel-plugin-lodash, & lodash-webpack-plugin
lodash/fp
lodash-amd

补充工具

futil-js 是一套用来补足 lodash 的实用工具集。

扩展阅读

贡献
版本说明
Wiki(更新记录、路线图等)

兼容性

在 Chrome 74-75、Firefox 66-67、IE 11、Edge 18、Safari 11-12 和 Node.js 8-12 环境中测试通过。

loadsh中的cloneDeep方法使用

cloneDeep方法介绍

_.cloneDeep(value)

这个方法类似_.clone,除了它会递归拷贝 value。(注:也叫深拷贝)。
添加版本
1.0.0

参数
value (): 要深拷贝的值。
返回
(
): 返回拷贝后的值。
例子如下:

var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false
发布了131 篇原创文章 · 获赞 38 · 访问量 99万+

猜你喜欢

转载自blog.csdn.net/ccf19881030/article/details/105452586