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

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

产生一个包括 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次

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

调用 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

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

从数组的起始元素开始提取 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、

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

反向版 _.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的更多相关文章

  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. Android SDK Tools 24.3.2 Build脚本Bug

    如下图版本: 在%Android_home%\tools\ant\build.xml中, 在483行附近, 少了aidl,aapt,dx, zipalign四个变量的声明. 加上就OK了. <p ...

  2. SpringBoot之显示本地图片范例

    controller // 扫描指定目录下的图片进行展示 @RequestMapping("/showPics") public ModelAndView showPics(Mod ...

  3. 【python练习题】程序15

    #题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. n = input('请输入成绩 :') n = int(n) if ...

  4. darknet源码解析

    https://blog.csdn.net/u014540717/article/category/6513159

  5. 【题解】K乘积

    题目描述 有N个数,每个数的范围是[-50,50],现在你要从这N个数中选出K个,使得这K个数的乘积最大. 输入格式 第一行,N和K. 1 <= N <= 50.  1 <= K & ...

  6. Java之视频读取IO流解帧实施方案

    获取视频处理对象的方式有很多,读取本地文件.读取url.读取摄像头等,而直接读流解析视频的实施方案却难以寻觅.此处有两种方案处理视频流(此处设定场景为用户上传视频,同时两种方式均需服务端安装ffmpe ...

  7. 利用kali破解wifi密码

    准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...

  8. 第三十八天 GIL 进程池与线程池

    今日内容: 1.GIL 全局解释器锁 2.Cpython解释器并发效率验证 3.线程互斥锁和GIL对比 4.进程池与线程池 一.全局解释器锁 1.GIL:全局解释器锁 GIL本质就是一把互斥锁,是夹在 ...

  9. 洛谷P1092 虫食算(算竞进阶习题)

    模拟+dfs 这个题就三行,搜索的话我们从右向左,从上到下.. 如果是在1,2行我们就直接枚举0-n所有数,但是到了第三行,最直接的就是填上这一列上前两行的数的和modN,在此基础上判断该填的数有没有 ...

  10. 华为TaiShan 2280 ARM 服务器

    华为TaiShan 2280 ARM 服务器 华为TaiShan 2280 ARM 服务器  https://e.huawei.com/cn/products/cloud-computing-dc/s ...