【React】Lodash

1.为什么选择 Lodash ?

【中文文档】

Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。

Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。 Lodash 的模块化方法 非常适用于:

  1. 遍历 array、object 和 string
  2. 对值进行操作和检测
  3. 创建符合功能的函数

2.安装

浏览器环境:

javascript 复制代码
<script src="lodash.js"></script>

通过 npm:

javascript 复制代码
$ npm i --save lodash

3.使用

.orderBy(collection, [iteratees=[.identity]], [orders])

此方法类似于_.sortBy,除了它允许指定 iteratee(迭代函数)结果如何排序。

如果没指定 orders(排序),所有值以升序排序。 否则,指定为"desc" 降序,或者指定为 "asc" 升序,排序对应值。

参数

collection (Array|Object): 用来迭代的集合。

iteratees=\[_.identity\]\] (Array\[\]\|Function\[\]\|Object\[\]\|string\[\]): 排序的迭代函数。 \[orders\] (string\[\]): iteratees迭代函数的排序顺序。 ##### 返回 (Array): 排序排序后的新数组。 ##### 例子 ```javascript var users = [ { 'user': 'fred', 'age': 48 }, { 'user': 'barney', 'age': 34 }, { 'user': 'fred', 'age': 40 }, { 'user': 'barney', 'age': 36 } ]; // 以 `user` 升序排序 再 `age` 以降序排序。 _.orderBy(users, ['user', 'age'], ['asc', 'desc']); // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] ``` ##### 使用 ```javascript // 1. 先import // _是使用各种方法的前缀 import _ from 'lodash' //const [contentList,setContent] = useState(defaultList) // 刚开始的时候,想要 排序 操作 const [contentList,setContent] = useState(_.orderBy(defaultList,'like','desc')) //tab切換 const [type,setType] = useState('hot') const changTab = (t)=>{ setType(t) if(t === 'hot'){ setContent(_.orderBy(contentList,'like','desc')) }else{ setContent(_.orderBy(contentList,'ctime','desc')) } } ```

相关推荐
1024肥宅2 小时前
JavaScript 拷贝全解析:从浅拷贝到深拷贝的完整指南
前端·javascript·ecmascript 6
欧阳天风2 小时前
js实现鼠标横向滚动
开发语言·前端·javascript
局i3 小时前
Vue 指令详解:v-for、v-if、v-show 与 {{}} 的妙用
前端·javascript·vue.js
码界奇点3 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
小鑫同学4 小时前
Alias Assistant:新一代 macOS Shell 别名管理解决方案
前端·前端工程化
꒰ঌ小武໒꒱4 小时前
RuoYi-Vue 前端环境搭建与部署完整教程
前端·javascript·vue.js·nginx
名字越长技术越强4 小时前
前端之相对路径
前端
望道同学5 小时前
PMP/信息系统项目管理师 9 张 思维导图【考试必备】
前端·后端·程序员
局i5 小时前
Vue 中 v-text 与 v-html 的区别:文本渲染与 HTML 解析的抉择
前端·javascript·vue.js
菜鸟冲锋号6 小时前
问题:增量关联(实时同步新数据) 这个场景中,如果hudi_pay 变更了一条数据,hudi_order_pay_join 结果的数据会跟着变化吗
服务器·前端·数据库