色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript中map類

洪振霞1年前6瀏覽0評論

JavaScript中的map類是一種存儲鍵值對的數據結構,它允許使用任何值(包括對象)作為鍵或值。map類中的每個元素都由一個唯一的鍵與一個值對應。與數組不同,map類不是有序的,因此不能通過索引進行訪問。它提供了快速的查找鍵值對的方法,并支持快速添加和刪除元素。

下面是一個簡單的例子,展示了如何創建并使用一個map實例:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
console.log(map.get('key1')); // 輸出value1
console.log(map.has('key2')); // 輸出true
map.delete('key2');
console.log(map.has('key2')); // 輸出false
console.log(map.size); // 輸出1

map類也可以使用對象作為鍵:

const map = new Map();
const obj1 = {name: 'Alice'};
const obj2 = {name: 'Bob'};
map.set(obj1, 1);
map.set(obj2, 2);
console.log(map.get(obj1)); // 輸出1
console.log(map.has(obj2)); // 輸出true

如果您需要使用對象作為鍵,并且希望在兩個對象具有相同屬性時區分它們,則可能需要使用WeakMap而不是Map:

const weakMap = new WeakMap();
const obj1 = {name: 'Alice'};
const obj2 = {name: 'Alice'};
weakMap.set(obj1, 1);
console.log(weakMap.get(obj1)); // 輸出1
console.log(weakMap.has(obj2)); // 輸出false

map類還具有許多有用的方法,包括forEach、keys、values、entries和clear。forEach()方法允許您迭代map中的所有鍵值對,并對它們執行某些操作:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
map.forEach((value, key) => {
console.log(${key} = ${value});
});
// 輸出:
// key1 = value1
// key2 = value2

keys()方法允許您迭代map中的所有鍵:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
for (const key of map.keys()) {
console.log(key);
}
// 輸出:
// key1
// key2

values()方法允許您迭代map中的所有值:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
for (const value of map.values()) {
console.log(value);
}
// 輸出:
// value1
// value2

entries()方法允許您迭代map中的所有鍵值對:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
for (const [key, value] of map.entries()) {
console.log(${key} = ${value});
}
// 輸出:
// key1 = value1
// key2 = value2

最后,clear()方法可以在map中刪除所有鍵值對:

const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
console.log(map.size); // 輸出2
map.clear();
console.log(map.size); // 輸出0

這些都是map類的基本操作。它是一種非常有用的數據結構,可以幫助您更輕松地處理復雜的應用程序。