阅读 42

ES10中的对象扩展

小编继续与大家探讨js中新特性,能给我们平时工作带来哪些方便。大家还可以关注我的微信公众号,蜗牛全栈。

今天小编要更新的是es10对于对象的扩展,是一个在Object下面的静态方法,Object.fromEntries(),这个方法和之前的Object.entries()是两个互逆的操作。我们在之前在针对对象拓展的时候,有这样一个方法,我们可以这样使用。

const obj  = {
    name:"lilei",
    age:12
}
const entries= Object.entries(obj)
console.log(entries) // [["name","lilei"],["age",12]]
复制代码

通过今天对对象的拓展方法,我们就可以这样用

const entries = [["name","lilei"],["age",12]]
const fromentries = Object.fromEntries(entries)
console.log(fromentries)  // {name:"lilei",age:12}
复制代码

下面针对这个新增扩展,列举一些实际应用场景

1、将map转换为对象

const map = new Map()
map.set("name","lilei")
map.set("age",18)
console.log(map) // Map(2){name:"lilei",age:18}

const fromentries = Object.fromEntries(map)
console.log(fromentries) // {name:"lilei",age:18}
复制代码

2、根据指定条件,过滤对象的内的属性和值

// 获取对象内大于80分的课程和分数
const course= {
    math:12,
    English:90,
    Chinese:87
}
// 数组的方法更多,所以先将对象将转换为数组
const res = Object.entries(course).filter(([key,value]) => {
    return value > 80
})
console.log(res) // [["English",90],["Chinese",87]]
console.log(Object.fromEntries(res)) // {English:90,Chinese:87}
复制代码
文章分类
前端
文章标签