Lodash _.数组方法

简介: Lodash _.数组方法

@TOC

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

目录
相关文章
|
1月前
|
JavaScript 小程序
js数组去重的10种有效方法 vue 数组去重
js数组去重的10种有效方法 vue 数组去重
|
1月前
|
索引
lodash库——封装好的数组方法介绍
lodash库——封装好的数组方法介绍
24 0
|
JavaScript
js实现数组去重,在原型链上开发
js实现数组去重,在原型链上开发
js实现数组去重,在原型链上开发
|
存储 JavaScript API
js数组方法
splice( ):向数组的指定index处插入 返回的是被删除掉的元素的集合,会改变原有数组;截取类 没有参数,返回空数组,原数组不变;一个参数,从该参数表示的索引位开始截取,直至数组结束,返回截取的 数组,原数组改变;两个参数,第一个参数表示开始截取的索引位,第二个参数表示截取的长度,返回截取的 数组,原数组改变;三个或者更多参数,第三个及以后的参数表示要从截取位插入的值。会改变原数据
|
网络架构
lodash函数绑定新函数
lodash函数绑定新函数
67 0
lodash函数绑定新函数
Lodash学习之数组九
Lodash学习之数组九
73 0
Lodash学习之数组九
Lodash学习之数组六
Lodash学习之数组六
68 0
Lodash学习之数组六
|
索引
Lodash学习之数组七
Lodash学习之数组七
62 0
Lodash学习之数组七
Lodash学习之数组八
Lodash学习之数组
73 0
Lodash学习之数组八