当前位置: 首页> 游戏> 评测 > Map 数据结构

Map 数据结构

时间:2025/7/29 14:26:02来源:https://blog.csdn.net/weixin_46263560/article/details/139807891 浏览次数:0次

目录

一、概念

二、

1、属性和操作方法

2、遍历

3、与其他数据结构的相互转换

(1)、Map 转为数组

(2)、 数组转为 Map 

(3)、Map 转为对象

(4)、对象转为 Map


一、概念

Set 是一种叫【字典(是一些元素的集合,以 [ 键,值 ] 的形式储存)】的数据结构。

二、
1、属性和操作方法
  • size           返回 Map 的元素的个数。
  • set()           增加一个新元素,返回当前的 Map。
  • get()           返回键名对象的键值。
  • delete()     删除某个元素的键名,返回 Boolean 值。
  • has()          检测 Map 中是否包含某个元素,返回 Boolean 值。
  • clear()        清空集合,返回undefined 。
const map = new Map();
map.set("foo", "aaaaa"); // {"foo" => 'aaaaa'}
map.set("bar", "bbbbb"); // {"foo" => 'aaaaa'}map.size; // 2
map.get("foo"); // aaaaa
map.has("foo"); // true
map.delete("bar"); // true
map.clear() // 数据清空  undefined
2、遍历
  • keys()         返回键名。

  • values()      返回键值。

  • entries()      返回所有成员。
  • forEach()    遍历 Map 所有成员。
const map = new Map([['F', 'no'],['T',  'yes'],
]);for (let key of map.keys()) {console.log(key);
}
// "F"
// "T"for (let value of map.values()) {console.log(value);
}
// "no"
// "yes"for (let item of map.entries()) {console.log(item[0], item[1]);
}
// "F" "no"
// "T" "yes"// 或者
for (let [key, value] of map.entries()) {console.log(key, value);
}
// "F" "no"
// "T" "yes"// 等同于使用map.entries()
for (let [key, value] of map) {console.log(key, value);
}
// "F" "no"
// "T" "yes"map.forEach(function(value, key, map) {console.log( key, value);
});// "F" "no"// "T" "yes"
3、与其他数据结构的相互转换
(1)、Map 转为数组

使用运算扩展符 【...】

const myMap = new Map().set(true, 7).set({ foo: 3 }, ["abc"]);console.log([...myMap]);// [ [ true, 7 ], [ { foo: 3 }, [ 'abc' ] ] ]
(2)、 数组转为 Map 
const map = new Map([[1, 'one'],[2, 'two'],[3, 'three'],
]);
console.log(map)
//  {1 => 'one', 2 => 'two', 3 => 'three'}
(3)、Map 转为对象
const strMapToObj = (strMap) => {let obj = Object.create(null);for (let [k, v] of strMap) {obj[k] = v;}console.log(obj); //  { yes: true, no: false }return obj;
};const myMap = new Map().set("yes", true).set("no", false);
strMapToObj(myMap);
(4)、对象转为 Map
let obj = {"a":1, "b":2};
let map = new Map(Object.entries(obj));console.log(map) //  {'a' => 1, 'b' => 2}

关键字:Map 数据结构

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: