JavaScript Map 和 Object 的区别_tplwang的博客-CSDN博客_js map object
总结
(相同点)
1.都是对象,并且里面的元素都是键值对的形式
(不同点)
1.Object的键只能是简单数据类型(string、symbol、number)
而map的键可以是任意数据类型
2.使用时:
首先:
Object访问键值 ①obj.key ②obj[key]
map访问键值 map.get(key)
然后就是加入新的键值对:
Object:obj[key]=value
map: mm.set(key,value)
最后是看有没有某个键:
Object:obj[key]===True/False
map: mm.has(key)
3.关于有序:
Object元素是无序的,而map是按照插入顺序先后
4.关于遍历
- //map
- //遍历键
- for (let e of myMap.keys()) {
- console.log(e);
- }
-
- //遍历值
- for(let e of myMap.values()){
- console.log(e)
- }
-
- //遍历键值对
- for (let [k, v] of myMap.entries()) {
- console.log(k, v);
- }
- /或者
- for (let entry of myMap.entries()) {
- console.log(entry[0], entry[1]);
- }
-
-
-
- //Object
- let obj = { 'a': 1, 'b': 2, 'c': 10 }
- for (let key of Object.keys(obj)) {
- console.log(key);
- }
- for (let value of Object.values(obj)) {
- console.log(value);
- }
- for (let [key, value] of Object.entries(obj)) {
- console.log(key, value);
- }