1、forEach

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

2、filter

  1. var users = [{
  2. 'user': 'barney',
  3. 'age': 36,
  4. 'active': true
  5. },
  6. {
  7. 'user': 'fred',
  8. 'age': 40,
  9. 'active': false
  10. }
  11. ];
  12. var usersNew = _.filter(users, function(o) {
  13. return !o.active;
  14. })
  15. console.log(usersNew)
  16. var usersNew2 = _.filter(users, {'active': true })
  17. console.log(usersNew2)
  18. var usersNew3 = _.filter(users, ['active', false])
  19. console.log(usersNew3)
  20. //active 值为true
  21. var usersNew4 = _.filter(users, 'active')
  22. console.log(usersNew4)

3、random

_.random([min=0], [max=1], [floating])

产生一个包括 min 与 max 之间的数。 如果只提供一个参数返回一个0到提供数之间的数。 如果 floating 设为 true,或者 min 或 max 是浮点数,结果返回浮点数。

4、深拷贝_.cloneDeep

5、扩展对象_.assign

6、去掉对象属性_.omit

7、从某个对象中选择部分属性组成新的对象  _.pick

8、排序_.orderBy

  1. var users = [{
  2. 'user': 'fred',
  3. 'age': 48
  4. },
  5. {
  6. 'user': 'barney',
  7. 'age': 34
  8. },
  9. {
  10. 'user': 'fred',
  11. 'age': 42
  12. },
  13. {
  14. 'user': 'barney',
  15. 'age': 36
  16. }
  17. ];
  18.  
  19. console.log(_.orderBy(users, ['age'], ['desc']))

9 、函数执行N次

_.times(n, [iteratee=_.identity])

调用 iteratee N 次,每次调用返回的结果存入到数组中。 iteratee 会传入1个参数:(index)。

  1. console.log(_.times(3, String))

10、等差数组

  1. console.log(_.range(0, 20, 5))
  2. // [0, 5, 10, 15]

11、isEmpty

检查 value 是否为空。 判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。

12.take

_.take(array, [n=1])

从数组的起始元素开始提取 N 个元素。(如可实现分页)

  1. _.take([1, 2, 3]);
  2. // => [1]
  3.  
  4. _.take([1, 2, 3], 2);
  5. // => [1, 2]
  6.  
  7. _.take([1, 2, 3], 5);
  8. // => [1, 2, 3]
  9.  
  10. _.take([1, 2, 3], 0);
  11. // => []

13、

_.reject(collection, [predicate=_.identity])

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

14、_.assign

  1. var a = {
  2. a: 1
  3. },
  4. b = {
  5. b: 2
  6. },
  7. c = {
  8. c: 3
  9. };
  10. var d = {};
  11. var d = _.assign(d, a, b, c);
  12.  
  13. console.log(a)
  14. console.log(b)
  15. console.log(c)
  16. console.log(d)

函数式编程 lodash 常用api的更多相关文章

  1. Lodash 常用API中文参考

    lodash和underscore都是现在非常流行的两个javascript库,提供了一套函数式编程的实用功能. 而lodash本身最初也是underscore的一个fork,因为和其他(Unders ...

  2. [转] Lodash常用API笔记

    原生用法 直接使用的API _.reject 根据条件去除某个元素. var foo = [ {id: 0, name: "aaa", age: 33}, {id: 1, name ...

  3. Python“函数式编程”中常用的函数

    1.map(func,seq[,seq,...]) 对序列中的每个元素应用函数,python2中map()返回的是列表,python3中返回的是迭代器,可以用list()转换成列表.以下例子为pyth ...

  4. 翻译连载 | 附录 C:函数式编程函数库-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇

    原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...

  5. Java8新特性:函数式编程

    1. 概述 函数式编程学习目的: 能够看懂公司里的代码 大数据量下处理集合效率更高 代码可读性高 消灭嵌套地狱 函数式编程思想: 面向对象思想需要关注用什么对象完成什么事情.而函数式编程思想就类似于我 ...

  6. Python函数式编程:Lambda表达式

    首先我们要明白在编程语言中,表达式和语句的区别. 表达式是一个由变量.常量.有返回值的函数加运算符组成的一个式子,该式子是有返回值的 ,如  a + 1 就是个表达式, 单独的一个常量.变量 或函数调 ...

  7. React躬行记(1)——函数式编程

    函数式编程是React的精髓,在正式讲解React之前,有必要先了解一下函数式编程,有助于更好的理解React的特点.函数式编程(Functional Programming)不是一种新的框架或工具, ...

  8. Java 函数式编程(Lambda表达式)与Stream API

    1 函数式编程 函数式编程(Functional Programming)是编程范式的一种.最常见的编程范式是命令式编程(Impera Programming),比如面向过程.面向对象编程都属于命令式 ...

  9. JDK 8 新特性之函数式编程 → Stream API

    开心一刻 今天和朋友们去K歌,看着这群年轻人一个个唱的贼嗨,不禁感慨道:年轻真好啊! 想到自己年轻的时候,那也是拿着麦克风不放的人 现在的我没那激情了,只喜欢坐在角落里,默默的听着他们唱,就连旁边的妹 ...

随机推荐

  1. div中的相对定位与绝对定位

    1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动.(再一点,相对定位时,无论是否 ...

  2. 线程同步Volatile与Synchronized(一)

    volatile 一.volatile修饰的变量具有内存可见性 volatile是变量修饰符,其修饰的变量具有内存可见性. 可见性也就是说一旦某个线程修改了该被volatile修饰的变量,它会保证修改 ...

  3. 13.kubernetes之pv,pvc,configmap(带补充实例)

    管理存储是管理计算的一个明显问题.该PersistentVolume子系统为用户和管理员提供了一个API,用于抽象如何根据消费方式提供存储的详细信息.为此,我们引入了两个新的API资源:Persist ...

  4. JSON in SQL Server 2016

    JSON functions in SQL Server enable you to analyze and query JSON data, transform JSON to relational ...

  5. .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 ...

  6. Windows Server 2012 IIS 8 - 安装SSL证书

    从证书邮件里或者用户中心复制对应的SSL证书文件代码 把代码粘贴到TXT文本文件里面 然后另存为cer或是crt文件,注意编码为ANSI 中级证书和交叉证书也是按以上方法保存为crt或cer文件即可 ...

  7. codeforces605A

    Sorting Railway Cars CodeForces - 605A 一辆列车有N节车厢,编号为1...N(每节车厢编号都不同),并且他们的排列是混乱的.李老湿想要把这N节车厢重新排列为升序排 ...

  8. Nginx 优化缓冲区与传输效率

    L:126 这里简单的做个计算 比如 我的服务器带宽是 5M=41943040字节 如果按照公网用PIND的得到延迟结果 icmp_seq=3 ttl=49 time=35.612 ms BDP =  ...

  9. ng-click 发两次ajax请求的原因及解决方法

    http://blog.csdn.net/anmo/article/details/17083125

  10. python之旅第八篇--异常

    判断类与对象关系 isinstance #判断对象obj是否是由cls类创建的 class Foo(object): pass obj = Foo() print isinstance(obj,Foo ...