ES10中的对象拓展

小编前一段时间更新了一系列关于ts的语法,是看到github上面关于ts的项目越来越多,包括现在前端的主流框架,像React/Vue/Angular,但ts最终还要被编译成js执行,小编看到手上还有一些关于js的课程和资料,继续与大家探讨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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞鹰3995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值