匿名函数、array、map与set #力扣Day3

109 阅读1分钟

为什么要使用匿名函数?

凡事有利也有弊

优点:

  • 代码简洁、容易封装和模块化
  • IIFE即用即弃,方便回调函数使用
  • 闭包
  • 形成独立作用域

缺点:

  • 非直观
  • 每次调用都要创建新的函数,某些情况下可能会对性能有影响。

array的一些常用方法

  • reduce:可用于累计数组中的元素,若要从右往左调用,可使用reduceRight
  • slice:可以截取生成子数组。
  • pop:获取最后一个元素属性并删除。

map的一些常用用法

  • get('key'):获取key对应的value。
  • has('key'):查看key是否有对应的value,有则返回true。
  • set('key', 'value'):用于添加属性。

map VS set

MapSet是两种不同的数据结构,都能记住插入的顺序,它们具有以下区别:

  1. 数据结构:

    • Map是一种键值对的集合,其中每个元素都由一个唯一的键关联到一个值。
    • Set是一种存储唯一值的无序集合。
  2. 存储的值:

    • Map中的值可以是任意类型,包括基本类型和对象。
    • Set中的值只能是唯一的基本类型或对象的引用。
let o = { a: 1, b: 2 };
mySet.add(o);

mySet.add({ a: 1, b: 2 }); // o 指向的是不同的对象,所以没问题
  1. 唯一性:
    • Map根据键的唯一性来存储和检索数据,同一个键可以对应不同的值。
    • Set根据值的唯一性来存储数据,不允许重复的值存在。