数组常用的方法

数组常用的方法

 

改变自身:

  • 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()判断删除
  • 创建对象,数组依次录入。对象属性不能相同的特性
  • 排序然后对比相邻是否相同后去重。
posted @ 2018-10-11 10:33  Leoz/  阅读(207)  评论(0编辑  收藏  举报