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与任何数组 或 值连接在一起。

  1. array (Array): 被连接的数组。
  2. [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 目标对象。如果目标值存在,被解析为undefinedsources 来源对象属性将被跳过。数组和普通对象会递归合并,其他对象和值会被直接分配覆盖。源对象从从左到右分配。后续的来源对象属性会覆盖之前分配的属性。

_.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 }] }
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值