lodash中Collection部分所有方法的总结
总结一下lodash中Collection的所有的方法,方便对比记忆,也便于使用时候查找。
1、 判断是否符合条件;返回bool;
a) every: 判断每一值是不是都符合条件;
通过 predicate
(断言函数) 检查 collection
(集合)中的 所有 元素是否都返回真值;
_.every(collection, [predicate=_.identity])
b) some:判断是否有符合条件的值;
通过 predicate
(断言函数) 检查collection
(集合)中的元素是否存在 任意 truthy(真值)的元素,一旦 predicate
(断言函数) 返回 truthy(真值),遍历就停止;
_.some(collection, [predicate=_.identity])
c) includes:是否找到要找的值
检查 value
(值) 是否在 collection
(集合) 中。如果 collection
(集合)是一个字符串,那么检查 value
(值,子字符串) 是否在字符串中, 否则使用 SameValueZero
做等值比较。 如果指定 fromIndex
是负数,那么从 collection
(集合) 的结尾开始检索。
_.includes(collection, value, [fromIndex=0])
2、 筛选,选出符合条件的数据;
a) filter: 找到所有个符合条件的
遍历 collection
(集合)元素,返回 predicate
(断言函数)返回真值 的所有元素的数组;
_.filter(collection, [predicate=_.identity])
b) find:找到1个符合条件的
遍历 collection
(集合)元素,返回 predicate
(断言函数)第一个返回真值的第一个元素;
_.find(collection,[predicate=_.identity], [fromIndex=0])
_.findLast(collection,[predicate=_.identity], [fromIndex=collection.length-1])
c) partition: 把符合条件和不符合条件的分开
创建一个分成两组的元素数组,第一组包含predicate
(断言函数)返回为 truthy(真值)的元素,第二组包含predicate
(断言函数)返回为 falsey(假值)的元素;
_.partition(collection, [predicate=_.identity])
d) reject: 找到所有不符合条件的
_.filter
的反向方法;此方法 返回 predicate
(断言函数) 不 返回 truthy(真值)的collection
(集合)元素;
_.reject(collection, [predicate=_.identity])
3、 顺序
a) OrderBy: 灵活排序
此方法类似于_.sortBy
,除了它允许指定 iteratee(迭代函数)结果如何排序。 如果没指定 orders
(排序),所有值以升序排序。 否则,指定为"desc" 降序,或者指定为 "asc" 升序,排序对应值。
b) Sample: 取样,随机取出一个值;
从collection
(集合)中获得一个随机元素。
_.sampleSize(collection, [n=1])
c) SortBy: 按照升序排序
创建一个元素数组。 以 iteratee 处理的结果升序排序
_.sortBy(collection, [iteratees=[_.identity]])
d) Shuffle: 打乱顺序
创建一个被打乱值的集合。 使用 Fisher-Yates shuffle 版本。
_.shuffle(collection)
4、 生成key,分类
a) CountBy: 值为当前一类数据的个数;
创建一个组成对象,key(键)是经过 iteratee
(迭代函数) 执行处理collection
中每个元素后返回的结果,每个key(键)对应的值是 iteratee
(迭代函数)返回该key(键)的次数(愚人码头注:迭代次数)。
_.countBy(collection, [iteratee=_.identity])
b) KeyBy: 值为生成key的对象;
创建一个对象组成, key(键) 是 collection
(集合)中的每个元素经过 iteratee
(迭代函数) 处理后返回的结果。
_.keyBy(collection, [iteratee=_.identity])
c) GroupBy: 值为当前类所有的值;
创建一个对象,key 是 iteratee
遍历 collection
(集合) 中的每个元素返回的结果。 分组值的顺序是由他们出现在 collection
(集合) 中的顺序确定的;
_.groupBy(collection, [iteratee=_.identity])
5、 扁平化
a) FlatMap:
创建一个扁平化(愚人码头注:同阶数组)的数组,这个数组的值来自collection
(集合)中的每一个值经过 iteratee
(迭代函数) 处理后返回的结果,并且扁平化合并。
_.flatMap(collection, [iteratee=_.identity])
_.flatMapDeep(collection, [iteratee=_.identity])
_.flatMapDepth(collection, [iteratee=_.identity], [depth=1])
6、 遍历处理
a) forEach
调用 iteratee
遍历 collection
(集合) 中的每个元素, iteratee 调用3个参数: (value, index|key, collection)。 如果迭代函数(iteratee)显式的返回 false
,迭代会提前退出。( each )
_.forEach(collection, [iteratee=_.identity])
_.forEachRight(collection, [iteratee=_.identity])
b) map:
创建一个数组, value(值) 是 iteratee
(迭代函数)遍历 collection
(集合)中的每个元素后返回的结果。 iteratee(迭代函数)调用3个参数: (value, index|key, collection).
_.map(collection, [iteratee=_.identity])
c) invokeMap:
调用path
(路径)上的方法处理 collection
(集合)中的每个元素,返回一个数组,包含每次调用方法得到的结果。任何附加的参数提供给每个被调用的方法。如果methodName
(方法名)是一个函数,每次调用函数时,内部的 this
指向集合中的每个元素。
_.invokeMap(collection, path, [args])
7、 长度
a) Size
返回collection
(集合)的长度,如果集合是类数组或字符串,返回其 length ;如果集合是对象,返回其可枚举属性的个数。
_.size(collection)
lodash中Collection部分所有方法的总结的更多相关文章
- java8在Collection中新增加的方法removeIf
记得我在以前找工作的经历中,遇到过一个面试官问过我一个很基础的问题.问题是:有一个List中有10个元素,我现在想从中删除3个元素,请问怎么做?我当时也没想,就直接说,List的有自带的remove方 ...
- java方法中Collection集合的基本使用与方法
集合类的由来,对象用于封闭特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储. 集合特点:1.用于存储对象的容器.2.集合的长度是可变的.3.集合中不可以存储基本数据类型值. 集合 ...
- JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...
- 在.NET Framework中慎用DirectoryInfo.GetFiles方法
.NET Framework中的DirectoryInfo.GetFiles方法,可以在一个文件夹下通过通配符找出符合条件的文件. 我们首先在文件夹C:\DemoFolder下定义两个文件:demo. ...
- Java中Collection 的基本认识
集合Conllection的基本概念:1.集合的基本认识:如StringBuffer&StringBuilder是集合(存储的对象类型是String).数组.对象与其很相似,但是还有区别.2. ...
- 一文带你认识Java8中接口的默认方法
Java8是Oracle于2014年3月发布的一个重要版本,其API在现存的接口上引入了非常多的新方法. 例如,Java8的List接口新增了sort方法.在Java8之前,则每个实现了List接口的 ...
- Python3中使用PyMongo的方法详解
前言 本文主要给大家介绍的是关于在Python3使用PyMongo的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍: MongoDB存储 在这里我们来看一下Python3下Mongo ...
- Java 8——接口中个的默认方法和静态方法
在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静 ...
随机推荐
- SQL2008数据表空间大小查询脚本
--尽量少用触发器,否则数据库增长很快,特别是关于登陆的数据表字段不要用出发器,一周左右能使得数据库增长1G的空间. --数据库表空间大小查询脚本 IF EXISTS (SELECT * FROM ...
- C++ Primer 有感(函数)
1.函数应该在头文件中声明,并在源文件中定义.(定义函数的源文件应包含声明该函数的头文件)将提供函数声明的头文件包含在定义该函数的源文件中,可使编译器能检查该函数的定义和声明是否一致. 2.既可以在函 ...
- MySQL学习笔记_5_SQL语言的设计与编写(上)
SQL语言的设计与编写(上) 一.SQL语句分类 数据定义语言(DDL): 用于定义和管理数据对象,包括数据库.数据表.视图.索引等.例如:CREATE.DROP.ALTER等语句. 数据操作语言(D ...
- 《java入门第一季》之Calendar类小案例获取任意二月天数
import java.util.Calendar; import java.util.Scanner; /* * 获取任意一年的二月有多少天 * * 分析: * A:键盘录入任意的年份 * B:设置 ...
- 【Android 应用开发】Android - 时间 日期相关组件
源码下载地址 : -- CSDN : http://download.csdn.net/detail/han1202012/6856737 -- GitHub : https://github.co ...
- anndroid 模糊引导界面
先上两张图,后面补上代码 我们以前的写法是在需要显示模糊引导的地方,写一个布局,然后第一次使用的时候显示出来.但是这样做代码结构不清晰,所以我们有必要将这些View独立出来,写成一个自定义的View ...
- 用C语言绘制一条标准的余弦曲线
#include<stdio.h> #include<math.h> int main() { double y; int x,m; for(y=1;y>=-1;y-=0 ...
- C/C++中关键字static的用法及作用
本文将主要从static在C和C++共有的作用及C++特有的作用两个方面进行解析. 在C和C++中共有的作用 隐藏(对变量.函数均可) 当同时编译多个文件时,所有未加static前缀的全局变量或全局函 ...
- PS 滤镜算法原理——高反差保留 (High Pass)
这个特效简单来说,就是一个高通滤波器, 对图像做高斯滤波,用原图减去高斯滤波后的图,再将差值加上128. clc; clear all; close all; Image=imread('4.jpg' ...
- Oracle rownum 分页, 排序
Oracle rownum 分页, 排序 什么是rownum, rownum的生成, rownum相关的符号操作 Rownum是oracle生成结果集时得到的一个伪列, 按照读出行的顺序, 第一条ro ...