函数式编程 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歌,看着这群年轻人一个个唱的贼嗨,不禁感慨道:年轻真好啊! 想到自己年轻的时候,那也是拿着麦克风不放的人 现在的我没那激情了,只喜欢坐在角落里,默默的听着他们唱,就连旁边的妹 ...
随机推荐
- ajax获得后台传来的一个json值,在js中获得其中的属性值
首先 ajax的dataType需要设置为json, 默认的text获取属性值在jquery3.2.1中尝试不成功 获得属性值的方式: 类似数组,键值对的方式 下面例子: 设置dataType为jso ...
- Echarts使用Ajax异步获得数据的前端json格式转化问题
利用Ajax获取后台传来的data,官网都有example 但如果后台传来的数据是String格式的,则应该在Ajax的done方法中第一句加上格式转换的语句 data = JSON.parse(da ...
- python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误
class SendEmail(object): def __init__(self, type, to_addr): self.to_addr = to_addr self.sys_date = t ...
- qtp自动化测试-条件语句 if select case
1 if 语句 if condition then end if If condition Then [statements] [ElseIf condition-n Then [else ...
- loadrunner -vuser
在每个负载生成器上,安装 remote agent dispatcher(process) 和 loadrunner agent 控制器指示remote agent dispatcher 在load ...
- 一、hadoop部署
一.Java环境 yum 安装方式安装 1.搜索JDK安装包 yum search java|grep jdk 2.安装 yum install java-1.8.0-openjdk-src.x86_ ...
- 【python练习题】程序13
#题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153= ...
- Nginx用户权限验证管理
首先需要编译进--with-http_request_model 配置指令:auth_request url | off; #url是指上游服务器地址 context: http/location 备 ...
- docker --环境变量制作模板
比如你现在有配置文件:decoder.conf decoder.conf里面有两个配置项写的是: THREAD_NUM:24 GPU_ID:0 现在你希望通过某个统一的配置来修改这些配置项,以免在部署 ...
- python 文件下载
为了演示urllib3的使用,我们这里将会从一个网站下载两个文件.首先,需要导入urllib3库: import urllib3 这两个文件的源url为: url1 = 'http://earthqu ...