目录
原生js能够支持这几种类型数据格式之间的转换,先了解下Object.entries和Object.FromEntries这两个原生方法的作用:
- Object.entries获取对象的键值对
- Object.FromEntries把键值对列表转成对象
- Object.entries和Object.fromEntries之间是可逆的。
Object转Map
let obj={foo:'hello',bar:100};
let map=new Map(Object.entries(obj));
console.log(map)
Map转Object
let map=new Map([['foo','hello'],['bar',100]]);
let obj=Object.fromEntries(map);
console.log(obj);
Object转Array
let obj={'foo':'hello','bar':100};
let arr=Object.entries(obj);
console.log(arr);
Array转成Object
let arr=[['foo','hello'],['bar',100]];
let obj=Object.fromEntries(arr);
console.log(obj);
Array转Set
let arr=[['foo','hello'],['bar',100]];
let set=new Set(arr);
console.log(set)
Set转Array
let set = new Set(['foo', 'hello', 'bar']);
let arr = [...set];
console.log(arr)
Array转Map
const arr = [{
id: 1,
goodNo: '1001'
}, {
id: 2,
goodNo: '1002'
}, {
id: 3,
goodNo: '1003'
}]
const map = new Map()
arr.forEach(item => {
map.set(item.id, item)
})
console.log(map)