简介
Map
对象够记住键的原始插入顺序。一个Map
对象可以迭代它的元素,产生一个包含两个元素的数组,每个数组的第一个元素是键,第二个元素是与该键关联的值。
方法
比如.set(key, value)
来添加或更新键值对,.get(key)
来根据键获取值,.has(key)
来检查是否包含某个键,.delete(key)
来删除某个键值对,以及.clear()
来清空Map
等。
举例
const array1 = [
{ id: 3, name: "Charlie" },
{ id: 4, name: "David" },
{ id: 5, name: "Eve" }
];
const map = new Map(array1.map(obj => [obj.id, obj]));
//map打印结果
/* Map(3) {
3 => { id: 3, name: 'Charlie' },
4 => { id: 4, name: 'David' },
5 => { id: 5, name: 'Eve' }
} */
/* 这表示map是一个包含三个键值对的Map对象,每个键都是一个数字(对象的id),
每个值都是对应的对象。*/
// 要访问Map中的值,你可以使用.get(key)方法,例如:
console.log(map.get(3)); // 输出: { id: 3, name: 'Charlie' }
// 或者使用for...of循环遍历Map:
for (let [key, value] of map) {
console.log(key, value);
}
// 输出:
// 3 { id: 3, name: 'Charlie' }
// 4 { id: 4, name: 'David' }
// 5 { id: 5, name: 'Eve' }