dave-wind / blog

native javascript blog
0 stars 0 forks source link

map和Object 主要区别 #17

Open dave-wind opened 1 year ago

dave-wind commented 1 year ago

map 和 object 区别

主要区别

var map = new Map();
1.key 任意类型:
 map对象 他的key 可以是任意类型 函数 对象 undefined 都可以
map.set(undefined, 'hello map');

2. map 可迭代;可保留元素顺序 纯哈希表结构
map对象 内部结构是基于可迭代,会保留元素顺序,是纯哈希表结构,针对于存在大量增删操作的场景 可用map:

map.forEach((value,key)=>console.log(value,key));
for (let [value,key] of obj){
    console.log(value);
    console.log(key);
}
而 obj 就不能迭代; 
只能使用:
Object.keys(obj).forEach((key)=> console.log(key);
或者
for (var key in obj){
}