数组常用的方法
数组常用的方法
改变自身:
- push:向数组的末尾增加一项 返回值是数组的新长度
- unshift:向数组开头增加一项 返回值是数组的新长度
- pop:删除数组的末尾项 返回值是删除的数组项
- shift:删除数组开头项 返回被删除的开头项目
- splice:删除数组中的任意项 返回值是被删除的数组项
- slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项
拼接:
- concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组
- join:把数组中的每一项 按照指定的分隔符拼接成字符串
排序:
- reverse:倒序数组 返回值倒序数组 原有数组改变
- sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序
兼容性不好:
- indexOf:返回获取项在数组中的索引
- lastIndexOf:返回获取项在数组中出现的最后一次索引
- forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined
- map:循环遍历数组 参数是一个匿名函数
splice的拓展使用:
- 模拟push ary.splice(ary.length,0,x)
- 模拟pop ary.splice(ary.length-1,1)
- 模拟unshift ary.splice(0,0,x)
- 模拟shift ary.splice(0,1)
- splice(0) 从0开始删除到末尾==>全部删除的操作 ==>返回所有数组项 ==> 克隆数组
数组去重
- 创建空数组,循环push进去,indexOf判断是否存在
- new Set 数组去重
- newArr = [...new Set(arr)]
- newArr = Array.from(new Set(arr))
- 原数组依次对比,splice()判断删除
- 创建对象,数组依次录入。对象属性不能相同的特性
- 排序然后对比相邻是否相同后去重。