ES5 常用数组方法(是否改变原始数组)
- push(): 将一个或多个元素添加到数组的末尾,并返回新数组的长度(是)
- pop(): 删除并返回数组的最后一个元素(是)
- shift(): 删除并返回数组的第一个元素(是)
- unshift(): 在数组的开头添加一个或多个元素,并返回新数组的长度(是)
- concat(): 连接两个或多个数组,并返回新数组(否)
- slice(): 返回指定索引范围内的新数组,不会修改原数组(否)
- splice(): 从指定位置删除或替换元素,并返回被删除的元素组成的数组(是)
- indexOf(): 返回指定元素在数组中首次出现的索引,如果不存在则返回 -1。
- lastIndexOf(): 返回指定元素在数组中最后一次出现的索引,如果不存在则返回 -1。
- join(): 将数组的所有元素以指定的分隔符连接成一个字符串。
- reverse(): 反转数组的顺序,会修改原数组(是)
- sort(): 对数组进行排序,会修改原数组(是)
ES6 新增的数组方法(常用)
- includes(): 判断数组是否包含指定元素,返回布尔值。
- filter(): 根据指定条件筛选数组元素,返回满足条件的新数组。
- map(): 根据指定规则对数组的每个元素进行处理,返回处理后的新数组。
- reduce(): 对数组的每个元素执行指定的累加器函数,返回一个累积值。
- forEach(): 对数组的每个元素执行指定的函数,没有返回值。
- find(): 返回数组中满足条件的第一个元素。
- findIndex(): 返回数组中满足条件的第一个元素的索引。
- some(): 判断数组中是否至少有一个元素满足条件,返回布尔值。
- every(): 判断数组中所有元素是否都满足条件,返回布尔值。
以下了解即可:
- Array.from(): 将类似数组或可迭代对象转换为真正的数组。
- Array.of(): 根据传入的参数创建一个新数组。
- Array.prototype.keys(): 返回一个包含数组索引的新迭代器对象。
- Array.prototype.values(): 返回一个包含数组值的新迭代器对象。
- Array.prototype.entries(): 返回一个包含数组索引和值的新迭代器对象。
- Array.prototype.fill(): 用指定的值填充数组的所有元素。
- Array.prototype.copyWithin(): 在数组内部将指定范围的元素复制到其他位置。
- flat(): 将多维数组扁平化为一维数组。
- flatMap(): 对数组的每个元素执行映射函数,并将结果扁平化为一维数组。