js数组常用方法
jsarr
分类思路: 1.按类型 2. 是否改变原数组 3.遍历数组 静态方法(在构造器上的方法):Array.of 原型方法:Array.prototype.slice.call(调用者)
转字符串
toString
转为字符串,扁平化数组
join
扁平化数组,只能扁平一层
修改:新增、删除(堆栈方法)
push
往后添加一项 返回值:修改后的长度。
pop
删除数组最后一项 返回值:删除的值
unshift
首位添加一项 返回值:修改后的长度
shift
首位删除一项 返回值:删除的值
排序相关
reverse
逆转数组 返回值:逆转后的原数组
sort
排序,可以改成随机排序 返回值:重新排序后的数组
拼接相关
concat
简单拼接,但拼接多维数组不会扁平化,一般要结合…拓展符 返回值:拼接后的数组
截取、删改
slice
截取区间,[ 小,大 ),是负数的时候倒数。 返回值:截取后的数组区间
splice
操作原数组,参数 1:起始、增加、删除的位置,参数 2:删除的个数,参数 3:插入的值 返回值:删除后的原数组
索引相关
indexOf
正序查找指定值的索引 返回值:值对应的索引,没有返回-1
lastIndexOf
倒序查找指定值的索引 返回值:值对应的索引,没有返回-1
includes
是否包含指定值 返回值:布尔值
find
查找符合要求的值,参数:条件函数 返回值:返回第一个符合条件的成员
findIndex
查找符合要求的值对应的索引,参数:条件函数 返回值:返回第一个符合条件的成员对应的索引
创建数组
Array
有歧义几乎不用
ES6 方法
Array.of
定义:返回由所有参数值组成的数组,如果没有参数,就返回一个空数组。 目的:Array.of() 出现的目的是为了解决上述构造器因参数个数不同,导致的行为有差异的问题。
Array.from
将类数组转成数组
拓展符…
…是 Array.from 的封装
fill
填充数组,参数 1:填充的值,参数 2:起始位置,参数 3:结束位置。区间:左闭右开,
遍历相关
es5 遍历方法 除了 reduce,es5 这几个方法的参数基本一致
forEach
遍历数组。自动忽略稀疏项。第一个参数用了箭头函数,第二个参数无效。不能用 break 终止遍历。类数组调用方式[…arg].forEach() 参数:1. 一个方法,方法的参数依次是(item,index,arr) 。2.指定的上下文 没有返回值,return 啥都是 undefined
map
作用: 参数:1. 一个方法,方法的参数依次是(item,index,arr) 。2.指定的上下文 返回值:映射后的新数组
filter
作用:过滤数组,筛选符合条件的项 参数:1. 一个方法,方法的参数依次是(item,index,arr) 。2.指定的上下文 返回值:新数组
some
作用:判断数组是否存在符合条件的项 参数:1. 一个方法,方法的参数依次是(item,index,arr) 。2.指定的上下文 返回值: 布尔值
every
作用:判断数组的项是否全部符合条件。 参数:1. 一个方法,方法的参数依次是(item,index,arr) 。2.指定的上下文 返回值:布尔值
reduce
redeuceRight
es6 遍历方法
Object.keys、Object.values、Object.entries 是静态方法,这三个是在原型上的方法