函数式编程 lodash 常用api
1、forEach

- _.forEach({
- 'a': 1,
- 'b': 2
- }, function(value, key) {
- console.log(key);
- });
- _.forEach([3,4], function(value) {
- console.log(value);
- });

2、filter

- var users = [{
- 'user': 'barney',
- 'age': 36,
- 'active': true
- },
- {
- 'user': 'fred',
- 'age': 40,
- 'active': false
- }
- ];
- var usersNew = _.filter(users, function(o) {
- return !o.active;
- })
- console.log(usersNew)
- var usersNew2 = _.filter(users, {'active': true })
- console.log(usersNew2)
- var usersNew3 = _.filter(users, ['active', false])
- console.log(usersNew3)
- //active 值为true
- var usersNew4 = _.filter(users, 'active')
- console.log(usersNew4)

3、random
产生一个包括 min
与 max
之间的数。 如果只提供一个参数返回一个0到提供数之间的数。 如果 floating
设为 true,或者 min
或 max
是浮点数,结果返回浮点数。
4、深拷贝_.cloneDeep
5、扩展对象_.assign
6、去掉对象属性_.omit
7、从某个对象中选择部分属性组成新的对象 _.pick
8、排序_.orderBy

- var users = [{
- 'user': 'fred',
- 'age': 48
- },
- {
- 'user': 'barney',
- 'age': 34
- },
- {
- 'user': 'fred',
- 'age': 42
- },
- {
- 'user': 'barney',
- 'age': 36
- }
- ];
- console.log(_.orderBy(users, ['age'], ['desc']))

9 、函数执行N次
调用 iteratee N 次,每次调用返回的结果存入到数组中。 iteratee 会传入1个参数:(index)。
- console.log(_.times(3, String))
10、等差数组
- console.log(_.range(0, 20, 5))
- // [0, 5, 10, 15]
11、isEmpty
检查 value
是否为空。 判断的依据是除非是有枚举属性的对象,length 大于 0
的 arguments
object, array, string 或类jquery选择器。
12.take
从数组的起始元素开始提取 N 个元素。(如可实现分页)

- _.take([1, 2, 3]);
- // => [1]
- _.take([1, 2, 3], 2);
- // => [1, 2]
- _.take([1, 2, 3], 5);
- // => [1, 2, 3]
- _.take([1, 2, 3], 0);
- // => []

13、
反向版 _.filter
,这个方法返回 predicate
检查为非真值的元素。
14、_.assign

- var a = {
- a: 1
- },
- b = {
- b: 2
- },
- c = {
- c: 3
- };
- var d = {};
- var d = _.assign(d, a, b, c);
- console.log(a)
- console.log(b)
- console.log(c)
- console.log(d)

函数式编程 lodash 常用api的更多相关文章
- Lodash 常用API中文参考
lodash和underscore都是现在非常流行的两个javascript库,提供了一套函数式编程的实用功能. 而lodash本身最初也是underscore的一个fork,因为和其他(Unders ...
- [转] Lodash常用API笔记
原生用法 直接使用的API _.reject 根据条件去除某个元素. var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name ...
- Python“函数式编程”中常用的函数
1.map(func,seq[,seq,...]) 对序列中的每个元素应用函数,python2中map()返回的是列表,python3中返回的是迭代器,可以用list()转换成列表.以下例子为pyth ...
- 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- Java8新特性:函数式编程
1. 概述 函数式编程学习目的: 能够看懂公司里的代码 大数据量下处理集合效率更高 代码可读性高 消灭嵌套地狱 函数式编程思想: 面向对象思想需要关注用什么对象完成什么事情.而函数式编程思想就类似于我 ...
- Python函数式编程:Lambda表达式
首先我们要明白在编程语言中,表达式和语句的区别. 表达式是一个由变量.常量.有返回值的函数加运算符组成的一个式子,该式子是有返回值的 ,如 a + 1 就是个表达式, 单独的一个常量.变量 或函数调 ...
- React躬行记(1)——函数式编程
函数式编程是React的精髓,在正式讲解React之前,有必要先了解一下函数式编程,有助于更好的理解React的特点.函数式编程(Functional Programming)不是一种新的框架或工具, ...
- Java 函数式编程(Lambda表达式)与Stream API
1 函数式编程 函数式编程(Functional Programming)是编程范式的一种.最常见的编程范式是命令式编程(Impera Programming),比如面向过程.面向对象编程都属于命令式 ...
- JDK 8 新特性之函数式编程 → Stream API
开心一刻 今天和朋友们去K歌,看着这群年轻人一个个唱的贼嗨,不禁感慨道:年轻真好啊! 想到自己年轻的时候,那也是拿着麦克风不放的人 现在的我没那激情了,只喜欢坐在角落里,默默的听着他们唱,就连旁边的妹 ...
随机推荐
- div中的相对定位与绝对定位
1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动.(再一点,相对定位时,无论是否 ...
- 线程同步Volatile与Synchronized(一)
volatile 一.volatile修饰的变量具有内存可见性 volatile是变量修饰符,其修饰的变量具有内存可见性. 可见性也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改 ...
- 13.kubernetes之pv,pvc,configmap(带补充实例)
管理存储是管理计算的一个明显问题.该PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息.为此,我们引入了两个新的API资源:Persist ...
- JSON in SQL Server 2016
JSON functions in SQL Server enable you to analyze and query JSON data, transform JSON to relational ...
- .NET Core 2.0及.NET Standard 2.0 Description
NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q3 ...
- Windows Server 2012 IIS 8 - 安装SSL证书
从证书邮件里或者用户中心复制对应的SSL证书文件代码 把代码粘贴到TXT文本文件里面 然后另存为cer或是crt文件,注意编码为ANSI 中级证书和交叉证书也是按以上方法保存为crt或cer文件即可 ...
- codeforces605A
Sorting Railway Cars CodeForces - 605A 一辆列车有N节车厢,编号为1...N(每节车厢编号都不同),并且他们的排列是混乱的.李老湿想要把这N节车厢重新排列为升序排 ...
- Nginx 优化缓冲区与传输效率
L:126 这里简单的做个计算 比如 我的服务器带宽是 5M=41943040字节 如果按照公网用PIND的得到延迟结果 icmp_seq=3 ttl=49 time=35.612 ms BDP = ...
- ng-click 发两次ajax请求的原因及解决方法
http://blog.csdn.net/anmo/article/details/17083125
- python之旅第八篇--异常
判断类与对象关系 isinstance #判断对象obj是否是由cls类创建的 class Foo(object): pass obj = Foo() print isinstance(obj,Foo ...