前端常用数组操作函数
5、map():循环数组 会返回一个新数组
6、filter():循环数组 会返回符合条件的一项数据或是多项数据
7、sort() :对数组元素进行排序 默认情况下,sort() 函数将值作为字符串进行排序。
8、concat():用于 合并数组或值 的核心方法,不修改原数组,而是返回新数组
9、every():用于检测数组中是否所有元素均满足指定条件,返回布尔值(true/false)
10、some():every()完全一样。用于检测数组中是否至少有一个元素满足指定条件
11、includes():用于检查数组是否包含某个元素的方法。
12、join():通过连接输入数组中的所有条目来返回一个新字符串。
13、find():用于查找并返回数组中第一个满足指定条件的元素。
14、reduce():用于将数组元素聚合成一个单一值(如数值、对象、数组等)
15、findIndex():用于查找数组中第一个满足指定条件的元素索引
16、indexOf()函数用于查找数组中指定元素的第一个匹配项的索引
17、slice() 函数用于 提取数组或字符串的指定部分,返回新对象且 不修改原数据。
18、splice():用于直接修改原数组,可以删除、替换或添加元素。
19、reverse() :用于反转数组元素的顺序,并返回反转后的数组
20、push():用于向数组的末尾添加一个或多个元素,并返回修改后数组的新长度。
21、pop():用于移除并返回数组的最后一个元素。
22、shift():函数用于移除数组的第一个元素,并返回被移除的元素。
23、unshift():用于在数组开头添加一个或多个元素,并返回新的长度。
24、flat():函数用于将嵌套数组(多维数组)按指定深度递归展开,返回新的一维数组。
25、at():是 ES2022 新增的数组和字符串方法,用于通过正/负整数索引访问元素。
| 序号 | 函数 | 作用 | 同类 | 备注 |
|---|---|---|---|---|
| 1 | isArray() | 比较准确的判断一个变量是否为数据 | 〇 | 空数组也能通过判断 |
| 2 | of() | 构造一个洗呢函数 | new Array() | 构建出的函数,一些特性使用时需要注意 |
| 3 | from() | 将字符串、对象等转换伪数组 | 〇 | 转换出的数组使用需要特别注意,语法糖含有别的值 |
| 4 | forEach() | for循环语法糖 | for循环、map、filter | 1、forEach循环过程不会退出; 2、不适合大量数据和嵌套循环使用; 3、不会改变原来的数组 |
| 5 | map() | for循环语法糖 | for循环、forEach、filter | 1、不会改变原数组; 2、会返回一个新的数组; 3、多用户元素转换等场景 |
| 6 | filter() | for循环语法糖 | for循环、forEach、map、reduce() | 1、一般用户元素的筛选,返回筛选出的元素的数组; 2、高性能时候慎用,还是for或是Array.reduce() |
| 7 | sort() | 函数元素排序 | 〇 | 1、会修改原来数组; 2 、默认排序方式是UniCode字符串排序; 3、二位或是Json数组慎用 |
| 8 | concat() | 数组合并 | […arr1, …arr2] | 多维数组合并需要扁平化处理 |
| 9 | every() | 检测数组中中所有元素是否满足条件 | 〇 | 一般用户完整性校验 |
| 10 | some() | 检测数组中是否有一个元素满足条件 | includes() | 〇 |
| 11 | includes() | 检查数组中是否包含某个元素 | some() | 注意区分大小写;JSON数据比较慎用 |
| 12 | join() | 将数组变成一个字符串 | 〇 | 默认是逗号分隔;空字符串会输出“”;unll、undefined会没有值输出 |
| 13 | split() | 将一个字符串变成数组 | 〇 | 会修改原字符串,返回新数组 |
| 14 | find() | 查找并返回数组中第一个满足指定条件的元素 | findIndex、indexOf | 找到则返回符合条件的元素;否则返回undefined |
| 15 | reduce() | 将数组元素聚合成一个单一值(如数值、对象、数组等) | 〇 | 常用语数组中的数字计算、分类整理 |
| 16 | findIndex() | 查找数组中第一个满足指定条件的元素索引 | find、indexOf | 返回的是索引下标值 |
| 17 | indexOf() | 查找数组中第一个满足指定条件的元素索引 | find、findIndex | 几乎findIndex()使用方法相同 |
| 18 | slice() | 截取数组、字符串 | splice | 不会修改原来的数组、字符串 |
| 19 | splice() | 修改、删除、替换、添加数组的元素 | 〇 | 增删改查数组、会修改原数组。 |
| 20 | reverse() | 将数组顺序反转 | 〇 | 操作原数组 |
| 21 | push() | 向数组中添加一个或是多个元素 | splice | 修改原数组、返回新数组的长度 |
| 22 | pop() | 删除数组的最后一个元素 | splice | 修改原数组 |
| 23 | shift() | 删除数组第一个元素 | splice | 修改原数组 |
| 24 | unshift() | 在数组头部添加一个元素 | splice | 修改原数组、返回新数组的长度 |
| 25 | flat() | 多维数组扁平化 | 〇 | 返回新的数组、会移除空项 |
| 26 | at() | 数组索引 | 〇 | 正数从开始索引,负数从尾部索引 |