lodash笔记(数组篇)

安装引入

  • npm i --save lodash
  • 使用页面
    1、全部引入 import _ from ‘lodash’
    2、按需引入 import x from ‘lodash/x’

详情见官网


一、不改变原数组,返回一个新数组

1、_.chunk(array, [size=1])

  • array (Array): 需要处理的数组
    [size=1] (number): 每个数组区块的长度

将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。

_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
 
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]

2、_.compact(array)

  • array (Array): 待处理的数组

创建一个新数组,包含原数组中所有的非假值元素。例如false, null,0, “”, undefined, 和 NaN 都是被认为是“假值”。

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

3、_.concat(array, [values])

  • 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]

4、_.fromPairs(pairs)
返回一个由键值对pairs构成的对象。

_.fromPairs([['fred', 30], ['barney', 40]]);
// => { 'fred': 30, 'barney': 40 }

5、_.zipObject([props=[]], [values=[]])

  • [props=[]] (Array): The property identifiers.
    [values=[]] (Array): The property values.

这个方法类似_.fromPairs,除了它接受2个数组,第一个数组中的值作为属性标识符(属性名),第二个数组中的值作为相应的属性值。

_.zipObject(['a', 'b'], [1, 2]);
// => { 'a': 1, 'b': 2 }

6、_.difference(array, [values])

  • array (Array): 要检查的数组。
    [values] (…Array): 排除的值。

创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中

_.difference([3, 2, 1], [4, 2]);
// => [3, 1]

7、_.xor([arrays])

  • [arrays] (…Array): 要检查的数组。

创建一个给定数组唯一值的数组

_.xor([2, 1, 3, 1, 2])
// => [2, 1, 3]
_.xor([2, 1], [2, 3])
// => [1, 3]

8、_.intersection([arrays])
创建唯一值的数组,这个数组包含所有给定数组都包含的元素

_.intersection([2, 1], [4, 2], [1, 2]);
// => [2]

9、_.uniq(array)
创建一个去重后的array数组副本。

_.uniq([2, 1, 2]);
// => [2, 1]

10、_.without(array, [values])

  • array (Array): 要检查的数组。
    [values] (…*): 要剔除的值。

创建一个剔除所有给定值的新数组。
注意: 不像_.pull, 这个方法会返回一个新数组。

_.without([2, 1, 2, 3], 1, 2);
// => [3]






二、改变原数组

1、_.pull(array, [values])

  • array (Array): 要修改的数组。
    [values] (…*): 要删除的值。

移除数组array中所有和给定值相等的元素

var array = [1, 2, 3, 1, 2, 3];
 
_.pull(array, 2, 3);
console.log(array);
// => [1, 1]


2、_.pullAll(array, values)

  • array (Array): 要修改的数组。
    values (Array): 要移除值的数组。

这个方法类似_.pull,区别是这个方法接收一个要移除值的数组

var array = [1, 2, 3, 1, 2, 3];
 
_.pullAll(array, [2, 3]);
console.log(array);
// => [1, 1]

3、_.pullAt(array, [indexes])

  • array (Array): 要修改的数组。
    [indexes] (…(number|number[])): 要移除元素的索引。

根据索引 indexes,移除array中对应的元素,并返回被移除元素的数组。

var array = [5, 10, 15, 20];
var evens = _.pullAt(array, 1, 3);
 
console.log(array);
// => [5, 15]
 
console.log(evens);
// => [10, 20]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值