Javascript中使用Lodash工具库的cloneDeep函数实现深拷贝
前言最近在看Vue_shop实战项目-电商管理系统(Element-UI)的B站视频,看到08-商品添加-将goods_cat从数组转换成字符串时,讲到了Lodash这个工具库的cloneDeep方法的使用。Lodash是一个一致性、模块化、高性能的 JavaScript 实用工具库,其官网地址为:https://www.lodashjs.com/,Github托管地址为:https://gi..
前言
最近在看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
- 核心版 (~4kB gzipped)
- 完整版 (~24kB gzipped)
CDN 加速
Lodash 遵循 MIT 开源协议发布,并且支持最新的运行环境。
查看各个构件版本的区别并选择一个适合你的版本。
安装
- 浏览器环境:
<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 的实用工具集。
扩展阅读
兼容性
在 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
更多推荐
所有评论(0)