0
点赞
收藏
分享

微信扫一扫

js中 Set和Map常用方法

Set方法

在JavaScript中,Set是一种集合数据结构,它允许你存储不重复的值,并且提供了一些常用的方法来操作这些值。下面是Set对象中常用的方法:

  1. add(value):

    • 向Set中添加一个新的值。如果值已经存在,则Set不做改变。
    const set = new Set();
    set.add('apple');
    set.add('banana');
    set.add('apple'); // 不会被添加,因为已经存在
    console.log(set); // Set(2) {"apple", "banana"}
    
  2. delete(value):

    • 从Set中删除一个值,并返回一个布尔值,表示删除成功与否。
    const set = new Set(['apple', 'banana', 'cherry']);
    set.delete('banana');
    console.log(set); // Set(2) {"apple", "cherry"}
    
  3. has(value):

    • 判断Set中是否包含某个值,返回一个布尔值。
    const set = new Set(['apple', 'banana', 'cherry']);
    console.log(set.has('banana')); // true
    console.log(set.has('orange')); // false
    
  4. clear():

    • 清空Set中所有的值。
    const set = new Set(['apple', 'banana', 'cherry']);
    set.clear();
    console.log(set); // Set(0) {}
    
  5. size:

    • 只读属性,返回Set中值的数量。
    const set = new Set(['apple', 'banana', 'cherry']);
    console.log(set.size); // 3
    
  6. forEach(callbackFn, thisArg):

    • 使用指定的回调函数遍历Set中的每个元素。
    const set = new Set(['apple', 'banana', 'cherry']);
    set.forEach((value, valueAgain, set) => {
      console.log(value);
    });
    // 输出:
    // apple
    // banana
    // cherry
    
  7. 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对象常用的方法:

  1. set(key, value):

    • 向Map中添加或更新一个键值对。
    const map = new Map();
    map.set('apple', 5);
    map.set('banana', 10);
    
  2. get(key):

    • 根据键获取对应的值,如果键不存在,则返回 undefined
    console.log(map.get('apple')); // 输出 5
    console.log(map.get('orange')); // 输出 undefined
    
  3. has(key):

    • 判断Map中是否存在指定的键,返回一个布尔值。
    console.log(map.has('banana')); // true
    console.log(map.has('orange')); // false
    
  4. delete(key):

    • 根据键删除对应的键值对,返回一个布尔值表示删除成功与否。
    console.log(map.delete('apple')); // true
    console.log(map.delete('orange')); // false(因为 'orange' 不存在)
    
  5. clear():

    • 清空Map中所有的键值对。
    map.clear();
    console.log(map.size); // 输出 0
    
  6. size:

    • 只读属性,返回Map中键值对的数量。
    console.log(map.size); // 输出 Map 中键值对的数量
    
  7. 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}`);
    }
    
  8. forEach(callbackFn, thisArg):

    • 使用指定的回调函数遍历Map中的每个键值对。
    map.forEach((value, key) => {
        console.log(`${key} = ${value}`);
    });
    

这些方法使得JavaScript中的Map成为一个非常灵活和强大的数据结构,特别适合需要键值对存储和查找的场景。

举报

相关推荐

0 条评论