为什么提出Map
- 在 JavaScript 中,对象(Object)是一种常见的数据结构,用于存储键值对数据。然而,对象的键必须是字符串或符号(Symbol),并且对象的属性是无序的,这在某些场景下可能会带来一些限制或不便
以下是Map的优点
- 键的多样性:
Map 的键可以是任意类型的值,包括原始数据类型、对象和函数等,而不仅仅局限于字符串或符号。这使得 Map 在需要使用非字符串键的情况下非常有用。
- 保持键值对的插入顺序:
Map 中的键值对数据是有序的,保持插入顺序不变。而对象的属性是无序的,无法保证插入顺序。在需要有序存储键值对数据的场景下,Map 的有序性提供了更好的支持。
Map基本用法
let map = new Map()
map.set('name','keke')
map.set(1,2)
map.set(Symbol('sym'),2)
console.log(map)
map.forEach(element => {
console.log(element)
});
for (const iterator of map) {
console.log(iterator)
}
map.forEach((item,index) => {
console.log(index,item)
});