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