数组方法
pop
- 删除数组的最后一项
- 不需要传参
- 返回值是删除的那一项
- 原有数组发生改变
push
- 向数组末尾新增一项或多项
- 需要传参
- 返回新数组的length
- 原有数组发生改变;
shift
- 删除数组的第一项
- 不需要传参
- 返回删除的那一项
- 原有数组发生改变;
unshift
- 向数组的开头新增一项或多项
- 需要参数
- 返回新数组的length
- 原有数组发生改变
slice
- 数组的截取
- 参数
slice(m,n): 从索引m开始,截取到索引n;但是不包含n;
支持负数,让ary.length和负数运算,再截取;
m>n返回值空数组;
slice(m) : 从索引m开始,截取到最后一项;
slice() : 克隆一份一模一样的数组; - 返回截取到的新数组
- 原有数组不发生改变;
splice
- 删除数组的某几项
- 参数
splice(m,x,n): 替换;从索引m开始,删除x项,用n进行替换;
x=0 : 在索引m前面新增几项或一项
splice(m,n) : 从索引m开始,删除n项;
splice(m) : 从索引m开始,删除到数组的末尾
3.被删除的几项组成一个新的数组
4.原有数组发生改变;
splice(n, 0, x)
- 作用:从索引n开始删除0个,把x插入到n的前面
- 参数:起始索引,删除个数0,x
- 返回值:空数组
- 原数组是否改变:是
splice(n, m, x)
- 作用:从索引n开始删除m个,用x替换删除的部分
- 参数:起始索引,删除个数,用来替换的数组项x
- 返回值:被删除的项组成的新数组
- 原数组是否改变:是
splice(n, m)
- 作用:从索引为n开始删除m个
- 参数:起始索引n,要删除的个数
- 返回值:由删除的项组成新数组
- 原数组是否改变:是
sort
- 排序
- 参数
不传参: 只能排数组成员是相同位数的数组;
ary.sort(function(){return a-b}): 从小到大排序
ary.sort(function(){return b-a}): 从大到小排序 - 返回排序后的新数组
- 原有数组发生改变;
reverse
- 将数组成员颠倒过来
- 不用传参
- 返回颠倒后的新数组
- 原有数组发生改变;
indexOf
- 检测数组成员在数组中第一次出现的索引位置;
- 需要参数,是要检测的数组成员
- 返回当前数组的成员第一次出现对应的索引
- 原有数组不改变
如果校验的数组成员不存在,那么返回-1;
lastIndexOf
- 检测数组成员在数组中最后一次出现的索引位置;
- 需要参数,是要检测的数组成员
- 返回当前数组的成员最后一次出现对应的索引
- 原有数组不改变
如果校验的数组成员不存在,那么返回-1;
concat
- 数组的拼接
- 参数:
数组: 把两个数组连接到一起
分开传递: 把这几项新增到数组的末尾
不传: 数组克隆一份 - 返回一个连接后的新数组
- 原有数组不发生改变
join
- 把数组的每一项按照特定的字符连接成一个字符串
- 需要参数
- 返回一个连接在一起的字符串
- 原有数组不发生改变;
map
- 映射,可以映射成一个新的数组;根据回调函数的返回值,组成了新的数组
- 需要参数
- 返回一个映射之后新的数组
- 原有数组不发生改变;
forEach
- 循环
- 需要参数
- forEach是没有return;返回值是undefined;
- 原有数组不变
toString
- 将数组转成字符串
- 不需要参数
- 返回一个转之后的字符串
- 原有数组不改变