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