在 JS 中, 数组方法是非常重要且常用的方法. 在此整理总结一番.
JavaScript 数组的力量隐藏在数组方法中。
1. javaScript 常用数组方法
顺序 | 方法名 | 功能 | 返回值 | 是否改变原数组 | 版本 |
---|---|---|---|---|---|
1 | push() | (在结尾) 向数组添加一或多个元素 | 返回新数组长度 | Y | ES5- |
2 | unshift() | (在开头) 向数组添加一或多个元素 | 返回新数组长度 | Y | ES5- |
3 | pop() | 删除数组的最后一位 | 返回被删除的数据 | Y | ES5- |
4 | shift() | 移除数组的第一项 | 返回被删除的数据 | Y | ES5- |
5 | reverse() | 反转数组中的元素 | 返回反转后数组 | Y | ES5- |
6 | sort() | 以字母顺序 (字符串 Unicode 码点) 对数组进行排序 | 返回新数组 | Y | ES5- |
7 | splice() | 在指定位置删除指定个数元素再增加任意个数元素 (实现数组任意位置的增删改) | 返回删除的数据所组成的数组 | Y | ES5- |
8 | concat() | 通过合并(连接)现有数组来创建一个新数组 | 返回合并之后的数组 | N | ES5- |
9 | join() | 用特定的字符, 将数组拼接形成字符串 (默认 ",") | 返回拼接后的新数组 | N | ES5- |
10 | slice() | 裁切指定位置的数组 | 被裁切的元素形成的新数组 | N | ES5- |
11 | toString() | 将数组转换为字符串 | 新数组 | N | ES5- |
12 | valueOf() | 查询数组原始值 | 数组的原始值 | N | ES5- |
13 | indexOf() | 查询某个元素在数组中第一次出现的位置 | 存在该元素, 返回下标, 不存在 返回 -1 | N | ES5- |
14 | lastIndexOf() | 反向查询数组某个元素在数组中第一次出现的位置 | 存在该元素, 返回下标, 不存在 返回 -1 | N | ES5- |
15 | forEach() | (迭代) 遍历数组, 每次循环中执行传入的回调函数 | 无 /(undefined) | N | ES5- |
16 | map() | (迭代) 遍历数组, 每次循环时执行传入的回调函数, 根据回调函数的返回值, 生成一个新的数组 | 有 / 自定义 | N | ES5- |
17 | filter() | (迭代) 遍历数组, 每次循环时执行传入的回调函数, 回调函数返回一个条件, 把满足条件的元素筛选出来放到新数组中 | 满足条件的元素组成的新数组 | N | ES5- |
18 | every() | (迭代) 判断数组中所有的元素是否满足某个条件 | 全都满足返回 true 只要有一个不满足 返回 false | N | ES5- |
19 | some() | (迭代) 判断数组中是否存在, 满足某个条件的元素 | 只要有一个元素满足条件就返回 true, 都不满足返回 false | N | ES5- |
20 | reduce() | (归并) 遍历数组, 每次循环时执行传入的回调函数, 回调函数会返回一个值, 将该值作为初始值 prev, 传入到下一次函数中 | 最终操作的结果 | N | ES5- |
21 | reduceRight() | (归并) 用法同 reduce, 只不过是从右向左 | 同 reduce | N | ES5- |
22 | includes() | 判断一个数组是否包含一个指定的值. | 是返回 true,否则 false | N | ES6 |
23 | Array.from() | 接收伪数组, 返回对应的真数组 | 对应的真数组 | N | ES6 |
24 | find() | 遍历数组, 执行回调函数, 回调函数执行一个条件, 返回满足条件的第一个元素, 不存在返回 undefined | 满足条件第一个元素 / 否则返回 undefined | N | ES6 |
25 | findIndex() | 遍历数组, 执行回调函数, 回调函数接受一个条件, 返回满足条件的第一个元素下标, 不存在返回 - 1 | 满足条件第一个元素下标, 不存在 =>-1 | N | ES6 |
26 | fill() | 用给定值填充一个数组 | 新数组 | Y | ES6 |
27 | flat() | 用于将嵌套的数组 “拉平”,变成一维的数组。 | 返回一个新数组 | N | ES6 |
28 | flatMap() | flat() 和 map() 的组合版 , 先通过 map() 返回一个新数组, 再将数组拉平 ( 只能拉平一次 ) | 返回新数组 | N | ES6 |
大约 22 分钟