一、Object转数组
Object.keys() 取对象的键作为数组
Object.values()取对象的值作为数组
Object.entries()取到一个包含键和值的二维数组
let obj = {'a':1,'b':2,'c':3};
Object.keys(obj); //["a", "b", "c"]
Object.values(obj); //[1, 2, 3]
Object.entries(obj);//[['a',1],['b',2],['c',3]]
二、Map转数组
[...m.keys()] 取Map的键作为数组
[...m.values()] 取Map的值作为数组
[...m] 取到一个包含Map的键和值的二维数组
let m = new Map([['a',1],['b',2],['c',3]]);
[...m.keys()]; //["a", "b", "c"]
[...m.values()];//[1,2,3]
[...m]; //[['a',1],['b',2],['c',3]]
三、Map转Object
利用for of 循环可以利用o[k] = v 的方式追加为Object对象
let m = new Map([['a',1],['b',2],['c',3]]);
var o = {};
for(let [k,v] of m){
o[k] = v;
};
console.log(o) //{a: 1, b: 2, c: 3}
四、Object转Map
通过先new Map(),再set添加值进去
var obj = {'a':1,'b':2,'c':3};
let m = new Map();
for(let k in obj){
m.set(k,obj[k]);
};
console.log(m);//{'a' => 1, 'b' => 2, 'c' => 3}
let map = new Map([key,value],[key,value])
Object.entries(obj)就是上面有提到的将object转数组的一种方法,格式就是[[key,value],[key,value]]
var obj = {'a':1,'b':2,'c':3};
let m = new Map(Object.entries(obj));//{'a' => 1, 'b' => 2, 'c' => 3}
|