常用的数组方法

239 阅读3分钟

这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

基础添加和删除

- push
  - 将一个或多个元素添加到数组的结尾,并返回该数组的长度
- pop
  - 删除数组中的最后一位,并返回删除的值
- unshift
  - 将一个或多个元素添加到数组的开头,并返回该数组的新长度
- shift
  - 删除数组中的第一位,并返回删除的值

进阶删除、添加、替换方法

- splice(start[,num,item1,item2...])
  - 可以用于删除指定位置的元素,并在该位置上添加新的元素
  - 返回删除的元素组成的数组
  - 参数
    - start:指定修改的起始位置,如果超出长度,默认为从数组末尾开始,
            如果是负数(超过length,则为length),从右往左查找起始位置
    - num:表示要删除数组元素中的个数,默认到数组的结束位置,如果是0或者负数,则不移除元素。
    - item1,item2...:要添加到数组里面的内容

数组排序

- sort( function( a , b ){} )
  - 可选参数。默认根据字符串的unicode码进行排序
    > 如果 a-b的结果
    >
    > ​	大于0b 排到 a 前面
    >
    > ​	小于0a 排到 b 前面
    >
    > ​	等于0ab 的位置不变

随机排序

Math.random() - 返回一个0 ~ 1 之间的值,包含0,不包含1

数组常用方法

- concat(arr1,arr2,arr3...)
  - 用于合并两个或多个数组。此方法不会改变原有数组,会返回一个新数组
- join(separator)
  - 讲一个数组的所有元素连接成一个字符串,并返回这个字符串
- reverse
  - 将数组中的所有元素位置颠倒,并返回该数组。该方法会改变原有数组。
- indexOf(searchValue[,fromIndex])
  - 返回在数组中指定元素第一次出现的索引,如果不存在,返回-1;
- lastIndexOf(searchValue[,fromIndex])
  - 返回在数组中指定元素最后一次出现的索引,如果不存在,返回-1

- slice(begin[,end])
  - 截取从begin开始,到end为止的数据,并作为一个新数组返回。

数组新增方法

- forEach(callback(ele,index,array)[,thisArg])
  - 对数组中的每一个元素,执行一次提供的函数,返回undefined
  - 参数:
    - callback 执行的函数
      - ele:数组循环中的元素
      - index:元素对应的下标
      - array:当前正在操作的数组
    - thisArg :决定callback中的this指向
- filter(callback(ele,index,array)[,thisArg])
  - 筛选出符合函数中条件的元素,并作为一个新数组返回
  - 参数
    - callback 条件函数
      - ele:数组循环中的元素
      - index:元素对应下标
      - array:当前正在操作的数组
    - thisAry:决定callback中的this指向
- map(callback(ele,index,array)[,thisArg])
  - 由数组中的每一位元素执行函数后的结果,作为新数组的值
  - 参数:
    - callback 执行的函数
      - ele:数组循环中的元素
      - index:元素对应下标
      - array:当前正在操作的数组
    - thisAry:决定callback中的this指向
- reduce(callback(result,ele,index,array)[,initiaValue])
  - 对数组中的每一个元素执行callback函数,将结果根据callback函数中的条件,返回单个值。
  - 参数:
    - callback 执行的函数
      - result:上一次累计的结果
      - ele:当前正在操作的元素
      - index:元素对应的下标
      - array:当前正在操作的数组
    - initiaValue:result的初始值,如果不提供,则将使用数组中的第一个值。
- some(callback(ele,index,array)[,thisArg])
  - 测试数组中是否至少有一个元素通过了指定函数的测试,结果返回布尔值
  - 参数:
    - callback 执行的函数
      - ele:数组循环中的元素
      - index:元素对应下标
      - array:当前正在操作的数组
    - thisAry:决定callback中的this指向
- every(callback(ele,index,array)[,thisArg])
  - 测试数组中所有的元素是否都通过了指定函数的测试,结果返回布尔值。
  - 参数:
    - callback 执行的函数
      - ele:数组循环中的元素
      - index:元素对应下标
      - array:当前正在操作的数组
    - thisAry:决定callback中的this指向