lodash库——封装好的数组方法介绍

简介: lodash库——封装好的数组方法介绍

array数组(海王)

作为中央空调的数组,可以容纳多种数据类型的元素

let array=[1,2,3,4,5,6,'yma16',true,[2,3]]
console.log(array)

导入lodash

<script src="lodash.js"></script>

chunk方法—数组拆分

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

默认拆分为单个元素组成的数组,返回拆分的数组

let array=['y','m','a',1,6]
let result=_.chunk(array,2)
console.log(result)

compact方法—过滤假值

_.compact(arrray)

过滤掉数组中的false,0,null,NaN,undefined

let array=['yma16',undefined,null,NaN,0,true,false,1]
let result=_.compact(array)
console.log(result)

concat方法——拼接数组

_.concat(array1,array2)

返回拼接的数组array1之后接着array2

let array1=['y']
let array2=['ma16']
let result=_.concat(array1,array2)
console.log(result)

difference方法——创建唯一值

_.difference(array,[values])

区别于values的元素,返回新数组

let array=['yma16',1949,10,1,3,3,3,4]
let result=_.difference(array,[3,4])
console.log(result)

differenceBy(array,[values],iteratee=_.identity)

迭代器iteratee调用value形成过滤值

let array=['yma16',1,2,8,9,3,5,4]
let result=_.differenceBy(array,[3,4],o=>{return o})
console.log(result)

differencewith(array,[values],[comparator])

比较comparator:array和value,结果数组来自array

let array=['yma16',1,2,8,9,3,5,4]
let result=_.differenceWith(array,[3,4],_.isEqual)
console.log(result)

drop方法—切片

_.drop(array,[n=1])

去除前n个元素默认为1,返回原来数组剩下的切片内容

let array=['y','m','a',1,6]
let result=_.drop(array,2)
console.log(result)

_.dropRight(array,[n=1])

从右边到左边开始切片

let array=['y','m','a',1,6]
let result=_.dropRight(array,2)
console.log(result)

dropRightWhile(array,[predicate=_.identify])

去除array中从 predicate 返回假值开始到尾部的部分。predicate 会传入3个参数: (value, index, array)。

返回array剩余切片内容

let users = [
  { 'user': 'yma16',  'active': true },
  { 'user': 'china',    'active': false },
  { 'user': 'up', 'active': false }
];
let result=_.dropRightWhile(users,o=>{ return !o.active; });
console.log(result)

dropWhile(array,[predicate=_.identify])

类似dropRightWhile

let users = [
  { 'user': 'yma16',  'active': true },
  { 'user': 'china',  'active': false },
  { 'user': 'up', 'active': false }
];
let result=_.dropWhile(users,o=>{ return !o.active; });
console.log(result)

区别

let users = [
  { 'user': 'china',   'active': false },
  { 'user': 'up', 'active': false },
  { 'user': 'yma16',  'active': true }
];
let result=_.dropWhile(users,o=>{ return !o.active; });
console.log(result)

fills方法—填充替换

_.fill(array,value,[start=0],[end=array.length])

value为填充的内容,默认开始到结束

let array=['I','am','yam16',666]
let result=_.fill(array,'china')
console.log(result)

findIndex方法

.findIndex(array,[predicate=.identity])

返回第一个通过predicate断言的元素索引值(位置下标)

从左到右

let users=[{'user':'yma16','active':true},
{'user':'why?','active':true}]
let result=_.findIndex(users,o=>{return o.active})
console.log(result)

findlastIndex函数从右到左

let users=[{'user':'yma16','active':true},
{'user':'why?','active':true}]
let result=_.findLastIndex(users,o=>{return o.active})
console.log(result)

indexOf方法—返回索引

_.indexof(array,value,[fromIndex=0])

查找value的索引值,默认从左边第一个开始查找

let array=['y','ma','y']
let result1=_.indexOf(array,'y')
let result2=_.indexOf(array,'y',1)
console.log(result1,result2)

flatten方法—数组的降维

_.flatten(array)

降一层

_.flattenDeep(array,[depth=1])

可降多层维度

let array=['wow',[[1949,[1998],'yma16']],1,]
let result1=_.flatten(array)
let result2=_.flattenDeep(array,2)
console.log(result1,result2)

first、head、last方法

参数为array

字面意思取第一个和最后一个元素

let array=['y','m','a',16]
let first=_.first(array),head=_.head(array),last=_.last(array)
console.log(first,head,last)

initial方法—去除最后一个元素

initial(array)

let array=['y','m','a',16]
let result=_.initial(array)
console.log(result)

fromPairs—返回键值对象

_.fromPairs(pairs)

键值对pairs,返回新的对象object

let array=[['yma16',16],['16','yma']]
let result=_.fromPairs(array)
console.log(result)

join方法—分隔符字符串

_.join(array,[separator=’,’])

转化为元素之间添加 , 的字符串

let array=['y','m','a',1,6]
let result=_.join(array,'')
console.log(result)

nth函数—取元素

_.nth(array,[n=0])

n<0时从右边结尾开始取

let array=['y','m','a',1,6,null]
let result=_.nth(array,-2)
console.log(result)

remove方法—移除元素

remove(array,[predicate=_.identity])

可以用来过滤

let array=[1,2,3,4,5,6]
let result=_.remove(array,o=>{return o>3})
console.log(result)

slice函数—裁剪数组

_.slice(array,[start=0],[end=array.length])

返回裁剪数组

let array=['yma',1,2,3,4,5]
let result=_.slice(array,0,3)
console.log(result)

reverse函数—取反

reverse(array)

let array=[1,9,9,8,0,8]
let result=_.reverse(array)
console.log(result)


目录
相关文章
|
6月前
|
存储 关系型数据库 MySQL
lodash库——封装好的collection集合函数
lodash库——封装好的collection集合函数
109 0
|
存储 关系型数据库 MySQL
lodash库_封装好的collection集合函数
lodash库_封装好的collection集合函数
141 0
|
索引
Lodash _.数组方法
Lodash _.数组方法
87 0
lodash包装实例
lodash包装实例
64 0
lodash函数包装
lodash函数包装
103 0
lodash函数包装
lodash合并对象
lodash合并对象
358 0
lodash转换对象
lodash转换对象
98 0
Lodash学习之数组九
Lodash学习之数组九
97 0
Lodash学习之数组九
|
索引
Lodash学习之数组七
Lodash学习之数组七
86 0
Lodash学习之数组七
Lodash学习之数组八
Lodash学习之数组
90 0
Lodash学习之数组八