// map 转数组
const map = new Map([
[1, "one"],
[2, "two"],
[3, "three"],
]);
console.log([...map.keys()]); //[1, 2, 3]
console.log([...map.values()]); // ["one", "two", "three"]
// map中 属性名相同 只存储最后一个
let arr = [
[1, "one"],
[1, "one2"],
[3, "three"],
];
let map = new Map(arr);
console.log(map);
// map 转对象
function strMapToObj(strMap) {
let obj = Object.create(null); //创建空的对象
for (let [k, v] of strMap) {
// 键 值
console.log(k, v);
obj[k] = v;
}
return obj;
}
const myMap = new Map().set("yes", true).set("no", false);
console.log(myMap);
console.log(strMapToObj(myMap));
// 对象转map
function objToStrMap(obj) {
let strMap = new Map();
for (let k of Object.keys(obj)) {
console.log(k, obj[k]);
strMap.set(k, obj[k]);
}
return strMap;
}
let objBool = { yes: true, no: false };
let map = objToStrMap(objBool);
console.log(map);
let person = {
name: "张三",
age: 18,
address: "郑州",
};
// Object.keys(要获取所有键名的对象)
// 得到当前对象 所有的键
console.log(Object.keys(person)); //['name', 'age', 'address']
for (let key of Object.keys(person)) {
//每一个键名
console.log(key); //name age address
// console.log(typeof key);
// //每一个值
console.log(person[key]);
}
// map 转json
// map==>obj==>json
//map 转对象
function strMapToObj(strMap) {
let obj = Object.create(null); //创建空的对象
for (let [k, v] of strMap) {
obj[k] = v;
}
return obj;
}
// // map 转json 调用的是 map转对象
function strMapToJson(strMap) {
// // 把map转为对象
return JSON.stringify(strMapToObj(strMap));
}
let myMap = new Map([
["yes", true],
["no", false],
]);
let str = strMapToJson(myMap);
// console.log(str);
// console.log(typeof str);
//'{"yes":true,"no":false}'
// json 转map
// json==>obj===>map
// jsonString == > obj ==> map
function jsonToStrMap(jsonStr) {
// 对象转map JSON.parse(jsonStr)=>对象
return objToStrMap(JSON.parse(jsonStr));
// objToStrMap()
}
// jsonToStrMap('{"yes": true, "no": false}');
// Map {'yes' => true, 'no' => false}
function objToStrMap(obj) {
let strMap = new Map();
for (let k of Object.keys(obj)) {
strMap.set(k, obj[k]);
}
return strMap;
}
function jsonToStrMap(jsonStr) {
return objToStrMap(JSON.parse(jsonStr));
}
let str = '{"yes": true, "no": false}';
console.log(jsonToStrMap(str));
map和其他类型的转换
最新推荐文章于 2024-03-20 16:48:37 发布