vue项目中loadsh库常用方法说明
作者:Wyyyy1024
这篇文章主要介绍了vue项目中loadsh库常用方法说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
lodash
1.下载
npm i lodash
2.使用
- 全局使用
import _ form lodash
- 按需使用
import { 要使用的函数 } from lodash
常用方法
_.cloneDeep(value)(深拷贝)
var objects = [{ 'a': 1 }, { 'b': 2 }]; var deep = _.cloneDeep(objects); console.log(deep[0] === objects[0]); // => false
_.chunk(数组)
_.chunk(array, [size=1])
将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。
如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块
array
:要拆分的数组(目标数组)size=1
:每个数组区块的长度
返回值:(Array)*: 返回一个包含拆分区块的新数组(注:相当于一个二维数组)
_.chunk(['a', 'b', 'c', 'd'], 2); // => [['a', 'b'], ['c', 'd']] _.chunk(['a', 'b', 'c', 'd'], 3); // => [['a', 'b', 'c'], ['d']]
_.compact(array)(过滤数组)
创建一个新数组,包含原数组中所有的非假值元素。
例如 false, null,0, "", undefined, 和 NaN 都是被认为是“假值”。
返回值:(Array):返回过滤掉假值的新数组
_.compact([0, 1, false, 2, '', 3]); // => [1, 2, 3]
_.concat(array, [values])
创建一个新数组,将array
与任何数组 或 值连接在一起。
array
(Array): 被连接的数组。[values]
(…*): 连接的值。
返回值 : (Array): 返回连接后的新数组。
var array = [1]; var other = _.concat(array, 2, [3], [[4]]); console.log(other); // => [1, 2, 3, [4]] console.log(array); // => [1]
_.drop(array, [n=1])
创建一个切片数组,去除array前面的n个元素。(n默认值为1。)
_.drop(array, [n=1])
返回值:(Array): 返回array
剩余切片。
_.drop([1, 2, 3]); // => [2, 3] _.drop([1, 2, 3], 2); // => [3] _.drop([1, 2, 3], 5); // => [] _.drop([1, 2, 3], 0); // => [1, 2, 3]
_.dropRight(array, [n=1])
创建一个切片数组,去除array
尾部的n
个元素。(n
默认值为1。)
_.dropRight(array, [n=1])
返回值:(Array): 返回array
剩余切片。
_.dropRight([1, 2, 3]); // => [1, 2] _.dropRight([1, 2, 3], 2); // => [1] _.dropRight([1, 2, 3], 5); // => [] _.dropRight([1, 2, 3], 0); // => [1, 2, 3]
常用函数
_.debounce(防抖)
_.debounce(func, [wait=0], [options=])
func
:要防抖的函数wait=0
:需要延迟的毫秒数
searchText: { // lodash中的debounce防抖处理 handler: debounce(function (val) { this.localSearchSuggestions(val) }, 300), // handler (val) { // this.localSearchSuggestions(val) // }, immediate: true }
_.merge
该方法类似_.assign
, 除了它递归合并 sources
来源对象自身和继承的可枚举属性到 object
目标对象。
如果目标值存在,被解析为undefined
的sources
来源对象属性将被跳过。
数组和普通对象会递归合并,其他对象和值会被直接分配覆盖。
源对象从从左到右分配。
后续的来源对象属性会覆盖之前分配的属性。
_.merge(object, [sources])
object (Object)
:目标对象[sources] (…Object)
:来源对象
对应数据会合并到并覆盖,不对应数据会添加
var object = { 'a': [{ 'b': 2 }, { 'd': 4 }] }; var other = { 'a': [{ 'c': 3 }, { 'e': 5 }] }; _.merge(object, other); // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。