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)