ES10中的对象拓展

Posted 飞鹰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES10中的对象拓展相关的知识,希望对你有一定的参考价值。

今天小编要更新的是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}

以上是关于ES10中的对象拓展的主要内容,如果未能解决你的问题,请参考以下文章

ES9对象和Promise的扩展

ES 6 系列 - 对与常用对象的拓展 api

ES6必知必会 —— 数组和对象的拓展

ES6 函数拓展

ES6正则拓展

ES6 数据拓展Number,对象方法,三种模块化应用,npm包导入和转换