Set方法
在JavaScript中,Set是一种集合数据结构,它允许你存储不重复的值,并且提供了一些常用的方法来操作这些值。下面是Set对象中常用的方法:
-
add(value):
- 向Set中添加一个新的值。如果值已经存在,则Set不做改变。
const set = new Set(); set.add('apple'); set.add('banana'); set.add('apple'); // 不会被添加,因为已经存在 console.log(set); // Set(2) {"apple", "banana"}
-
delete(value):
- 从Set中删除一个值,并返回一个布尔值,表示删除成功与否。
const set = new Set(['apple', 'banana', 'cherry']); set.delete('banana'); console.log(set); // Set(2) {"apple", "cherry"}
-
has(value):
- 判断Set中是否包含某个值,返回一个布尔值。
const set = new Set(['apple', 'banana', 'cherry']); console.log(set.has('banana')); // true console.log(set.has('orange')); // false
-
clear():
- 清空Set中所有的值。
const set = new Set(['apple', 'banana', 'cherry']); set.clear(); console.log(set); // Set(0) {}
-
size:
- 只读属性,返回Set中值的数量。
const set = new Set(['apple', 'banana', 'cherry']); console.log(set.size); // 3
-
forEach(callbackFn, thisArg):
- 使用指定的回调函数遍历Set中的每个元素。
const set = new Set(['apple', 'banana', 'cherry']); set.forEach((value, valueAgain, set) => { console.log(value); }); // 输出: // apple // banana // cherry
-
values(), keys(), entries():
- 返回一个包含Set中所有值的迭代器对象。
const set = new Set(['apple', 'banana', 'cherry']); const setValues = set.values(); console.log(setValues.next().value); // apple console.log(setValues.next().value); // banana console.log(setValues.next().value); // cherry
这些是Set对象中常用的方法,它们允许你进行元素的添加、删除、查询和遍历操作,非常适合需要存储唯一值的场景。
Map
在JavaScript中,Map是一种键-值对的集合,其中每个键和值之间是一种映射关系。Map对象提供了多种方法来操作这些键值对。以下是Map对象常用的方法:
-
set(key, value):
- 向Map中添加或更新一个键值对。
const map = new Map(); map.set('apple', 5); map.set('banana', 10);
-
get(key):
- 根据键获取对应的值,如果键不存在,则返回
undefined
。
console.log(map.get('apple')); // 输出 5 console.log(map.get('orange')); // 输出 undefined
- 根据键获取对应的值,如果键不存在,则返回
-
has(key):
- 判断Map中是否存在指定的键,返回一个布尔值。
console.log(map.has('banana')); // true console.log(map.has('orange')); // false
-
delete(key):
- 根据键删除对应的键值对,返回一个布尔值表示删除成功与否。
console.log(map.delete('apple')); // true console.log(map.delete('orange')); // false(因为 'orange' 不存在)
-
clear():
- 清空Map中所有的键值对。
map.clear(); console.log(map.size); // 输出 0
-
size:
- 只读属性,返回Map中键值对的数量。
console.log(map.size); // 输出 Map 中键值对的数量
-
keys(), values(), entries():
- 这些方法都返回一个迭代器对象,可以用来遍历Map中的键、值或键值对。
// 遍历键 for (let key of map.keys()) { console.log(key); } // 遍历值 for (let value of map.values()) { console.log(value); } // 遍历键值对 for (let [key, value] of map.entries()) { console.log(`${key} = ${value}`); }
-
forEach(callbackFn, thisArg):
- 使用指定的回调函数遍历Map中的每个键值对。
map.forEach((value, key) => { console.log(`${key} = ${value}`); });
这些方法使得JavaScript中的Map成为一个非常灵活和强大的数据结构,特别适合需要键值对存储和查找的场景。