博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6的一些小技巧,代替lodash
阅读量:7119 次
发布时间:2019-06-28

本文共 1018 字,大约阅读时间需要 3 分钟。

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中也能使用异步操作了

转载地址:http://cesel.baihongyu.com/

你可能感兴趣的文章
SilverLight 条码 扫描枪 MVVM(转载)
查看>>
Rotate Image
查看>>
selenium+python自动化测试系列(二):AutoIt工具实现本地文件上传
查看>>
大数据Python学习大纲
查看>>
jmeter 使用命令行执行
查看>>
高效程序员的45个习惯の欲速则不达
查看>>
原生JS封装运动框架。
查看>>
HT for Web 中Painter的介绍及用法
查看>>
股指期货模拟系统
查看>>
基于Spark的电影推荐系统(电影网站)
查看>>
【HNOI 2016】序列
查看>>
PowerShell定时记录操作系统行为
查看>>
Angular2之路由学习笔记
查看>>
JSP中文件上传的关键步骤
查看>>
使用dd工具对磁盘RAID5和10进行I/O性能测试
查看>>
数据结构上机3栈-括号匹配
查看>>
RMQ算法
查看>>
中国情诗名句
查看>>
xfire冲突问题解决(maven配置)
查看>>
UINavigationController_学习笔记
查看>>