js 工具库 Loadsh 常用方法:filter +slice + orderBy
1. Loadsh是什么:
let json = _.map(datas);
你会很疑问下划线“_”是什么,其实可以认为是Loadsh库的一个对象,这样就可以使用Loadsh库的各种便捷方法了。
官方文档:https://lodash.com/docs/4.17.11 墙裂推荐从这里面查!!
2_.join():字符串拼接
let hell = _.join(['Hello','webpack'], ' ');
将参数1中的各个元素,通过参数2连接起来。
3_.filter() 方法
创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
参数:
collection (Array|Object): The collection to iterate over.
[predicate=_.identity] (Function): The function invoked per iteration.(每次遍历都会调用的函数,函数返回true的才会被返回)
返回:
(Array): Returns the new filtered array.
示例:
var users = [{ 'user': 'barney', 'age': 36, 'active': true },{ 'user': 'fred', 'age': 40, 'active': false }
];_.filter(users, function(o) { return !o.active; });
// => objects for ['fred']//类似的几种写法:
// The `_.matches` iteratee shorthand.
_.filter(users, { 'age': 36, 'active': true });
// => objects for ['barney']// The `_.matchesProperty` iteratee shorthand.
_.filter(users, ['active', false]);
// => objects for ['fred']// The `_.property` iteratee shorthand.
_.filter(users, 'active');
// => objects for ['barney']
4_.slice()方法
切片方法:返回数组中指定起始位置 到 终止位置的元素,左闭右开
_.slice(array, [start=0], [end=array.length])
参数:
array (Array): The array to slice.
[start=0] (number): The start position.
[end=array.length] (number): The end position.
返回:
(Array): Returns the slice of array.
5_.orderBy() 方法:排序
var users = [
{ ‘user’: ‘fred’, ‘age’: 48 },
{ ‘user’: ‘barney’, ‘age’: 34 },
{ ‘user’: ‘fred’, ‘age’: 40 },
{ ‘user’: ‘barney’, ‘age’: 36 }
];
// Sort by user
in ascending order and by age
in descending order.
_.orderBy(users, [‘user’, ‘age’], [‘asc’, ‘desc’]);
// => objects for [[‘barney’, 36], [‘barney’, 34], [‘fred’, 48], [‘fred’, 40]]
参数:
1. collection (Array|Object): The collection to iterate over.
2. [iteratees=[_.identity]] (Array[]|Function[]|Object[]|string[]): The iteratees to sort by.
3. [orders] (string[]): The sort orders of iteratees.,有asc和desc两种
6 _.intersectionBy():取交集
找出多个数组之间相交的元素(也就是都拥有的元素,等同于离散数学中的交集)
7_.clone,_cloneDeep() 的区别是前者是浅克隆,后者是深克隆(很少用到)
var objects = [{ ‘a’: 1 }, { ‘b’: 2 }];
var shallow = _.clone(objects);
console.log(shallow[0] === objects[0]);
// => true
var objects = [{ ‘a’: 1 }, { ‘b’: 2 }];
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false
8_.concat方法
js 工具库 Loadsh 常用方法:filter +slice + orderBy相关推荐
- JavaScript进阶学习(二)—— 基于原型链继承的js工具库的实现方法
文章来源:小青年原创 发布时间:2016-07-03 关键词:JavaScript,原型链,jQuery类库 转载需标注本文原始地址: http://zhaomenghuan.github.io... ...
- JS工具库moment —— 实现日历
moment moment是一个js工具库,这个库中封装的是日期时间的方法,功能很全面.可以去moment官网看看,它的中文文档介绍的也很详细,主要是看一下方法的使用.附上官网地址:moment.js ...
- 10个常用的JS工具库
10个常用的JS工具库,80%的项目都在用! Avue Cloud 2022-01-26 09:46 图片 高手区别于普通人的重要一点是,他们善于利用工具,把更多的时间留给了规划和思考.写代码也是同样 ...
- 当前最流行的 js 工具库
高手区别于普通人的重要一点是,他们善于利用工具,把更多的时间留给了规划和思考.写代码也是同样的道理,工具用好了,你就有更多的时间来规划架构和攻克难点.今天就给大家分享一下当前最流行的 js 工具库,如 ...
- 分享7个实用又高效的 Node.js 工具库
使用这7个库,加速你的项目开发 当今的软件开发行业,充斥着大量的库和框架,为开发人员提供了极大的便利性和效率.其中,JavaScript 库是最为广泛和重要的一类库之一,它们为开发人员提供了丰富的功能 ...
- uView JS工具库
节流防抖 节流 throttle(func, wait = 500, immediate = true) 规定时间内,只触发一次,可以通过设置immediate来决定触发的时机在这个时间的开始,还是结 ...
- JS工具库之Lodash用法005 _.difference(),_.differenceBy()_.differenceWith()
_.difference(array, [values]) 创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中.(注:即创建一个新数组,这个数组中的值,为第一个数字(array 参数 ...
- 前端算法utils.js工具库封装【收藏版】
剑阁峥嵘而崔嵬,一夫当关,万夫莫开 –‰
- JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布
研究了一年多的js,也差不多写一个自己的js库了. 我写这个不算框架,只是一个小型的js工具库,所以我用的名字是Library. 主要集合了我写js时一些常用的方法,并参考了prototype.js, ...
最新文章
- 两次include一个文件的问题
- 如何实时查看linux下的日志
- Java 8 - 收集器Collectors_归约和汇总
- 【转】如何拿到半数面试公司Offer——我的Python求职之路
- 惠普OMEN游戏本驱动曝内核级漏洞,影响数百万Windows 计算机
- Pycharm 相关使用方法
- oracle交接单,系统交接单模板.docx
- liteide使用教程 linux,liteide下载-LiteIDE(Go语言开发工具) 附使用教程 X30.3 中文免安装版 - 河东下载站...
- (一)软件测试的目的和定义
- JavaScript复习二
- 再看《西游记》——吴承恩眼中的现实社会是如何折射到《西游记》中的
- Milliman和Akur8结成战略联盟,为财产和意外伤害保险公司、管理型总代理和初创企业提供下一代定价能力
- android手机变windows8,安卓手机如何把手机界面投屏到windows8/10电脑上
- 大数据分析的技术有哪些?
- 《缠中说禅108课》22:将 8 亿的大米装到 5 个庄家的肚里
- 四年级计算机考试反思,考试反思四年级作文
- 机械臂沿末端xyz轴移动及旋转(python)
- 01-JAVA基础—>赏金任务—>五子棋(面向对象)
- 微机原理-I/O并行接口和并行接口芯片8255A
- U盘装系统_官方镜像
热门文章
- PYCHARM配色色号
- 电竞陪玩app定制开发业务是怎样满足市场需求的?
- android edittext长按复制,用EditText 实现 textView 长按复制效果,edittexttextview
- 杨柳老师--项目管理--企业项目流程优化与体系制度建设咨询--沪师经纪刘建
- 前端如何查看页面性能
- 中国化学品运输船市场现状研究分析与发展前景预测报告
- 【SemiDrive源码分析】【X9芯片启动流程】11 - freertos_safetyos目录Cortex-R5 DIL2.bin 引导程序源代码分析
- 【转】迈拓维矩45/65W PD快充头评测 ,视频实操对比
- 美国F1/J1报税参考资料
- 算法之路——深搜、广搜(简单搜索)