ES6小技巧之代替lodash


Posted in Javascript onJune 07, 2019

Javascript ES6标准实行后,Lodash或者Ramada中的一些功能我们就不需要了,可以使用ES6的语法来实现

获取Object中指定键值

我们现在可以使用解包的方法快速获取对象中指定键值的值

const obj = {
 a:1,
 b:2,
 c:3,
 d:4
};

// 获取obj中a与b的值
const {a,b} = obj;

// 也可以给他们取别名
const {a:A, b:B} = obj;

这个小技巧非常的方便,也是最基础的使用方法

排除Object中不需要的键值

既然我们可以获取到想要的对象键值,那么也可以排除掉不想要的键值,使用方法就要用到ES6的rest新特性

const obj = {
 a:1,
 b:2,
 c:3,
 d:4
}

// 我们想要获取除了a之外的所有属性
const {a, ...other} = obj

我们只要指定那些排除掉的属性,剩下的就是需要的属性,这样可以非常快速的排除不需要的属性

对象快速求和

有时候我们需要对一组对象数组中的某一个属性求总和,以前我们可以使用forEach或者for这样的循环遍历的方法来计算,现在我们可以使用reduce方法来快速实现

const objs = [
{name:'lilei', score: 98},
{name:'hanmeimei', score: 95},
{name:'polo', score: 85},
...
]

const scoreTotal = objs.reduce( (total, obj) => {
 return obj.score + total;
}, 0 /*第二个参数是total的初始值*/)

使用reduce就能快速的实现对某一个属性的总和计算

map也能异步遍历

是不是觉得只有for能够进行异步操作不方便,其实map也能进行异步操作,不过需要结合Promise的新方法一起使用

const arr = [1,2,3,4,...]

const queue = arr.map(async item => {
 return item + 1;
})

Promise.all(queue).then(newArr => console.log(newArr))

这样一来我们在map中也能使用异步操作了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Flash+XML滚动新闻代码 无图片 附源码下载
Nov 22 Javascript
将jQuery应用于login页面的问题及解决
Oct 17 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
jQuery中first()方法用法实例
Jan 06 Javascript
JavaScript判断用户是否对表单进行了修改的方法
Mar 18 Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 Javascript
jQuery Easyui datagrid连续发送两次请求问题
Dec 13 Javascript
JSONP跨域请求
Mar 02 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
Angular 4中如何显示内容的CSS样式示例代码
Nov 06 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
vue+element 模态框表格形式的可编辑表单实现
Jun 07 #Javascript
vue-cli3项目展示本地Markdown文件的方法
Jun 07 #Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 #Javascript
详解vue项目中实现图片裁剪功能
Jun 07 #Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 #Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
Jun 07 #Javascript
Vue中实现权限控制的方法示例
Jun 07 #Javascript
You might like
BBS(php & mysql)完整版(一)
2006/10/09 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
js DataSet数据源处理代码
2010/03/29 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
微信小程序tabbar底部导航
2018/11/05 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Python计算三维矢量幅度的方法
2015/06/15 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Zabbix实现微信报警功能
2016/10/09 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
python实现决策树分类(2)
2018/08/30 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
python+os根据文件名自动生成文本
2019/03/21 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
Python笔记之代理模式
2019/11/20 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
旅游管理毕业生自荐信
2013/11/05 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
优秀班组长事迹
2014/05/31 职场文书
个人求职意向书
2015/05/11 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫