遇到的问题
在遍历map的时候发现了,map对象和map集合的遍历是有很大的不同。map集合是无序的,并且主键是唯一的。集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。
遍历map对象
var map = [{
key : "百度",
value : "李彦宏" },
{
key : "阿里巴巴",
value : "马云" },
];
for (var key in map) {
console.log(map[key]);
}
//输出结果
//Object {key : "百度", value : "李彦宏"}
//Object {key : "阿里巴巴", value : "马云"}
遍历map集合
var m = new Map();
m.set(1, "black");
m.set(2, "red");
m.set("colors", 2);
//方法一:
m.forEach(function (item) {
console.log(item.toString());
});
//方法二:
m.forEach(function (value, key, map) {
console.log(value)
})
// 输出:
// black
// red
// 2
//方法三:
for (var [key, value] of m) {
console.log(key + ' = ' + value);
}
// 输出:
// 1 = black
// 2 = red
// colors = 2