首页 > 其他分享 >Object.fromEntries()的介绍及用途

Object.fromEntries()的介绍及用途

时间:2023-03-03 13:56:53浏览次数:33  
标签:map arr obj 对象 Object 用途 fromEntries

方法 Object.fromEntries() 把键值对列表转换为一个对象,这个方法是和 Object.entries() 相对的。

语法Object.fromEntries(iterable);

返回值:一个由该迭代对象条目提供对应属性的新对象。

描述:Object.fromEntries() 方法接收一个键值对的列表参数,并返回一个带有这些键值对的新对象。这个迭代参数应该是一个能够实现@@iterator方法的的对象,返回一个迭代器对象。它生成一个具有两个元素的类数组的对象,第一个元素是将用作属性键的值,第二个元素是与该属性键关联的值。

Object.fromEntries() 执行与 Object.entries 互逆的操作。

var arr=[['foo', 1], ['bar', 2]];
var obj=Object.fromEntries(arr);
// 打印obj为==={foo: 1, bar: 2}

一、Object的转换操作

//1.对象变二位数组
var obj={a:1,b:2};
var arr=Object.entries(obj);
//打印arr为位置数组===》[["a",1],["b", 2 ]]


//2.二位数组变为对象
var obj1=Object.fromEntries(arr);
//打印obj1为对象{a:1,b:2}

二、Map转Object

const map = new Map()
map.set('name', 'jimmy')
map.set('age', 18)
console.log(map) // {'name' => 'jimmy', 'age' => 18}

const obj = Object.fromEntries(map)
console.log(obj)
// {name: "jimmy", age: 18}

三、过滤

//course表示所有课程,想请求课程分数大于80的课程组成的对象:

const course = {
    math: 80,
    english: 85,
    chinese: 90
}
const res = Object.entries(course).filter(([key, val]) => val > 80)
console.log(res) // [ [ 'english', 85 ], [ 'chinese', 90 ] ]
console.log(Object.fromEntries(res)) // { english: 85, chinese: 90 }

 

标签:map,arr,obj,对象,Object,用途,fromEntries
From: https://www.cnblogs.com/zhaofen/p/17175344.html

相关文章