Lodash _.数组方法

简介: Lodash _.数组方法

array数组(海王)

image.png

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

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

image.png

导入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)

image.png

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)

image.png

concat方法——拼接数组

_.concat(array1,array2)
返回拼接的数组array1之后接着array2

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

image.png

difference方法——创建唯一值

_.difference(array,[values])

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

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

image.png

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)

image.png

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)

image.png

drop方法—切片

_.drop(array,[n=1])
去除前n个元素默认为1,返回原来数组剩下的切片内容

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

image.png

_.dropRight(array,[n=1])
从右边到左边开始切片

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

image.png

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)

image.png

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)

image.png

区别

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)

image.png

fills方法—填充替换

_.fill(array,value,[start=0],[end=array.length])
value为填充的内容,默认开始到结束

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

image.png

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)

image.png

findlastIndex函数从右到左

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

image.png

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)

image.png

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)

image.png

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)

image.png

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

initial(array)

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

image.png

fromPairs—返回键值对象

_.fromPairs(pairs)
键值对pairs,返回新的对象object

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

image.png

join方法—分隔符字符串

_.join(array,[separator=','])
转化为元素之间添加 , 的字符串

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

image.png

nth函数—取元素

_.nth(array,[n=0])
n<0时从右边结尾开始取

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

image.png

remove方法—移除元素

remove(array,[predicate=_.identity])
可以用来过滤

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

image.png

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)

image.png

reverse函数—取反

reverse(array)

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

image.png

目录
相关文章
|
存储 弹性计算 运维
如何使用Argo Workflows编排基因计算工作流?
为了高效、准确地整合和分析大量基因计算数据,工作流的自动化编排成为了一项关键技术,而容器化、灵活、易用的工作流引擎Argo Workflows在其中脱颖而出,成为串联基因计算各个环节的得力助手。
|
分布式计算 DataWorks 关系型数据库
DataWorks常见问题之删除odps中表的历史分区失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
SQL PHP 数据库
Sqli-labs靶场搭建
本文章是在自己在使用新版phpstudy搭建靶场过程中遇到了很多问题,但在查询无果后,决定尝试旧版的phpstudy看能否成功,很幸运,成功了,也并不是网上的教程,说是php必须在5.2及以下.我使用的是5.4版本的.是对SQL注入进行一个简单的回归,然后就是对于自己在搭建靶场中所遇到的一些问题的解决办法,以及进行安装步骤的总结,对于自己的自主配置和独立解决问题的能力是一种培养
|
安全 网络协议 网络安全
IT知识百科:什么是访问控制列表ACL?
IT知识百科:什么是访问控制列表ACL?
1121 0
|
前端开发
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法
1449 0
前端学习案例-vite项目报错-Cannot use import statement outside a module的解决方法
|
安全
shiro多realm抛出异常问题
使用Shiro作为安全框架时,为了方便我们可以把异常提出为公共模块,当使用多Realm时,需要特殊处理下,不然,异常时只会抛出一种。最近写项目时,就遇到了该问题,本身项目有一个登录系统,需要多加一个OAuth2的单点登录,服务端已经OK,需要在项目中对接一下该服务端;特此记录下
506 1
|
开发工具
vue2数据响应式原理——数据劫持(数组篇)
vue2数据响应式原理——数据劫持(数组篇)
vue2数据响应式原理——数据劫持(数组篇)
|
机器学习/深度学习
【技术分享】什么是K折交叉验证?
【技术分享】什么是K折交叉验证?
561 0
|
消息中间件 存储 缓存
4万字聊聊阿里二面,能抗多少?(下)
我是Leo。今天聊一下阿里二面。
4万字聊聊阿里二面,能抗多少?(下)
下一篇
开通oss服务