ES6的一些小技巧,代替lodash

Javascript ES6标准实行后,Lodash或者Ramada中的一些功能咱们就不须要了,能够使用ES6的语法来实现javascript

获取Object中指定键值

咱们如今能够使用解包的方法快速获取对象中指定键值的值java

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
复制代码

咱们只要指定那些排除掉的属性,剩下的就是须要的属性,这样能够很是快速的排除不须要的属性async

对象快速求和

有时候咱们须要对一组对象数组中的某一个属性求总和,之前咱们能够使用forEach或者for这样的循环遍历的方法来计算,如今咱们能够使用reduce方法来快速实现ui

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就能快速的实现对某一个属性的总和计算spa

map也能异步遍历

是否是以为只有for可以进行异步操做不方便,其实map也能进行异步操做,不过须要结合Promise的新方法一块儿使用rest

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

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

Promise.all(queue).then(newArr => console.log(newArr))
复制代码

这样一来咱们在map中也能使用异步操做了code

相关文章
相关标签/搜索