
数组的方法清单
涉及类型、真伪转换
| 方法 | 返回值 | 描述 |
|---|
| Array.isArray() | Boolean | 判断是否为数组 |
| toString() | String | 将数组转换为字符串 |
| Array.from(arrayLike) | Array | 将伪数组转化为真数组 |
| Array.of(value1, value2, value3) | Array | 创建数组:将一系列值转换成数组 |
注意,获取数组的长度是用length属性,不是方法。关于length属性
涉及数组元素的增删改查及截取
| 方法 | 描述 | 影响 |
|---|
| push() | 向数组的最后面插入一个或多个元素,返回结果为新数组的长度 | 会改变原数组 |
| pop() | 删除数组中的最后一个元素,返回结果为被删除的元素 | 会改变原数组 |
| unshift() | 在数组最前面插入一个或多个元素,返回结果为新数组的长度 | 会改变原数组 |
| shift() | 删除数组中的第一个元素,返回结果为被删除的元素 | 会改变原数组 |
| slice() | 从数组中提取指定的一个或多个元素,返回结果为新的数组 | 不会改变原数组 |
| splice() | 从数组中删除指定的一个或多个元素,返回结果为被删除元素组成的新数组 | 会改变原数组 |
| fill() | 填充数组:用固定的值填充数组,返回结果为新的数组 | 不会改变原数组 |
| concat() | 合并数组:连接两个或多个数组,返回结果为新的数组 | 不会改变原数组 |
| join() | 将数组转换为字符串,返回结果为转换后的字符串 | 不会改变原数组 |
| split() | 将字符串按照指定的分隔符,组装为数组 | 不会改变原字符串 |
注意:
split()是字符串的方法,不是数组的方法。
slice、splice、split 一定不能混乱傻傻分不清楚。
涉及排序、反转
| 方法 | 描述 | 备注 |
|---|
| reverse() | 反转数组,返回结果为反转后的数组 | 会改变原数组 |
| sort() | 对数组的元素,默认按照Unicode 编码,从小到大进行排序 | 会改变原数组 |
涉及元素索引
| 方法 | 描述 | 备注 |
|---|
| indexOf(value) | 从前往后索引,检索一个数组中是否含有指定的元素 | |
| lastIndexOf(value) | 从后往前索引,检索一个数组中是否含有指定的元素 | |
| includes(item) | 数组中是否包含指定的内容 | |
| find(function()) | 找出第一个满足条件的元素 | |
| findIndex(function()) | 找出第一个满足条件的元素的 index | |
| every() | 确保数组中的每个元素都满足「指定条件返回 true」,则停止遍历,此方法才返回 true | 全真才为真。 |
| some() | 数组中只要有一个元素满足「指定条件返回 true」,则停止遍历,此方法就返回 true | 一真即真。 |
涉及遍历
| 方法 | 描述 | 备注 |
|---|
| for 循环 | 不多说,但注意注意for...in 和for...of的用法和应用场景 | |
| forEach() | 和 for 循环类似,但需要兼容 IE8 以上 | forEach() 没有返回值。也就是说,它的返回值是 undefined |
| map() | 对原数组中的每一项进行加工,将组成新的数组 | 不会改变原数组 |
| filter() | 过滤数组:返回结果是 true 的项,将组成新的数组,返回结果为新的数组 | 不会改变原数组 |
| reduce | 接收一个函数作为累加器,返回值是回调函数累计处理的结果 | |
结语
今天只是把数组所有api的一些基本用法进行了一个汇总,后续会对每一个模块进行详细分析。