数组方法整理
静态方法
Array.isArray()//判断是否为数组
实例方法
Object方法
valueOf()
//返回数组本身toString()
//返回数组的字符串形式
改变原数组
方法 | 用法 | 作用 | PS |
---|---|---|---|
push(arg...) | 接受一个或多个参数 | 在数组末尾添加元素 | 返回数组改变后的长度 |
pop() | 不接受参数 | 删除数组末尾元素 | 返回删除的元素 |
shift() | 不接受参数 | 删除数组第一个元素 | 返回删除的元素 |
unshift(arg...) | 接受一个或多个参数 | 在数组第一个位置添加元素 | 返回数组改变后的长度 |
revers() | 不接受参数 | 将原数组倒叙排列 | 返回倒叙的数组 |
splice(start, count, args...) | 起始位置, 数量, 添加元素 | 从起始位置删除指定数量元素,后面的参数为要添加的元素 | (1) 返回被删除的元素 (2) count为0则默认不删除数据 |
sort(fun(a,b)) | 接受一个function | 参数函数接受两个参数,表示进行比较的两个数组成员 | (1) 返回排序后的数组 (2) 默认根据数组元素转换为字符串后的字典顺序排序 (3)函数中返回表达式推荐使用算数运算符而不是比较运算符 |
不改变原数组
方法 | 用法 | 作用 | PS |
---|---|---|---|
join(arg) | 接受一个参数 | 返回数组成员以arg为分隔符连接后的字符串 | (1) undefined,null,空位会被转换为空串 (2) 可以通过call将方法应用于类数组对象 |
concat(arg...) | 接受一个或多个参数 | 合并数组 | (1) 返回一个新数组 (2) 数组成员为对象时,新数组中的该对象为原先对象的引用 |
slice(start, end) | 起始位置,结束位置 | 返回数组指定区间的子数组 | (1) 返回一个新的数组 (2) 没有参数,等于返回原数组的拷贝 (3) 可以用来转换类数组对象(详见类数组对象) |
map(fun(elem, index, array), this) | (1) 接受两个参数:函数, 绑定回调函数内部的this变量(可选) (2) 函数接受三个参数:当前值,当前位置,原数组 | 数组成员依次执行参数函数,返回一个执行结果的数组 | (1) 返回一个新的数组 (2) 空位不执行参数函数,undefined/null会执行 |
forEach(fun(elem, index, array), this) | 与map相同 | 与map相同,但是不返回数据,只做数据处理 | (1) 没有返回值,只做数据处理 (2) 过程不可中断 (3) 同map 参数函数只跳过空位 |
filter(fun(elem, index, array), this) | 与map相同 | 返回符合条件的值的数组 | 返回一个新的数组 |
some(fun(elem, index, array), this) | 与map相同 | 类似于断言,判断数组是否符合某个条件 | (1) 只要有一个符合条件就返回true (2) 空数组返回false |
every(fun(elem, index, array), this) | 与map相同 | 与some相同 | (1) 只有全部符合条件才返回true (2) 空数组返回true,不执行回调函数 |
reduce(fun(a, b, index, array), init) | (1) 两个参数:回调函数, 初始值 (2) 函数参数: 累积变量,默认为数组的第一个成员;当前变量,默认为数组的第二个成员; 当前位置; 当前数组 | 依次处理函数的每个成员,返回最终值 | (1) 空数组时会报错,所以需要一个初始值 (2) 从左向右处理 |
reduceRight(fun(a, b, index, array), init) | 同reduce | 同reduce | 同reduce,从右向左处理 |
indexOf(arg) | 接受一个参数 | 返回参数在数组中第一次出现的位置 | 没有则返回-1 |
lastIndexOf(arg) | 接受一个参数 | 返回参数在数组中最后一次出现的位置 | 没有则返回-1 |
整理
返回数组的方法
sort, revers, concat, slice, map, filter
返回的是一个数组,可以链式使用
数组添加/删除元素
push, pop, shift, unshift, concat
模拟栈
数组内数据处理
map, forEach, reduce, reduceRight
参数为函数
sort, filter, map, forEach, reduce, reduceRight, some, every
本文章为学习笔记,感谢指导
参考链接