数组API

86 阅读2分钟

1.arr.push 数组后面添加一个元素 返回数组长度

let arr = [0, 1, 2, 3]
let a = arr.push(4) // 返回值很少用到
console.log(a) // 5
console.log(arr) // [0,1,2,3,4]
  1. arr.unshift 往数组前面添加一个元素 返回数组长度

  2. arr.shift 删除数组第一个元素, 并返回被删除的这个元素

let arr = [0, 1, 2, 3]
let a = arr.shift()
console.log(a) // 0
console.log(arr) // [1,2,3]
  1. arr.aplice(开始下标, 个数, 替换元素) 删除并替换, 以数组的形式返回被删除的元素
let arr = [0, 1, 2, 3]
let a = arr.splice(1, 1, 4 )
console.log(a) // [1]
console.log(arr) // [0,4,2,3]
  1. arr.join() 将数组转为字符串类型括号中可以传参,以什么符号分割, 不传默认以逗号分割, 实际中一般arr.join(") 不要分隔符

  2. arr.map() 映射根据条件返回新数组

let arr = [0, 1, 2, 3]
let arr1 = arr.map(item =>  item*10)
console.log(arr1) // [0, 10, 20, 30]
  1. arr.filter() 过滤 根据条件过滤出新数组
let arr = [0, 1, 2, 3, 1]
let arr1 = arr.filter(item =>  item !== 1)
console.log(arr1) // [0, 2, 3]

  1. arr.findIndex() 查找数组中是否有满足条件的元素 一般用于数组中为引用数据类型 找到返回下标 找不到返回-1

  2. arr.indexOf() 查找数组中是否有满足条件的元素 一般用于数组中为基础数据类型 找到返回下标 找不到返回-1

  3. arr.forEach() 遍历数组

  4. arr.some() 根据条件遍历数组, 看数组中是否有满足条件的数据, 有返回ture 没有返回false

  5. arr.every() 根据条件遍历数组, 看数组中是否每个元素都满足条件, 要是都满足返回ture, 只有有一个不满足返回false

  6. arr.reduce() 遍历数组, 为数组中每个元素执行一次回调,返回最后一次回调的结果,一般用与数组求和, reduce方法有两个参数

let arr = [1,2,3,4]
let res = arr.reduce((sum, item, index) => sum + item ,0)
/* 
         第一个参数:回调函数   (sum,item,index)=>{}
            sum : 上一次回调return 返回值
            item: 当前元素
            index: 当前下标
         第二个参数 : sum初始值。  一般给0, 如果不给,遇到空数组reduce就会报错
         reduce自身返回值: 最后一次sum的结果
 */
  1. arr.concat()数组拼接
let arr1 = [1,2,3,4]
let arr2 = [5,6,7]
let arr = arr1.concat(arr2)
console.log(arr) // [1,2,3,4,5,6,7]
  1. arr.sort() 数组排序
let arr1 = [4,3,6,1,2]
    arr1.sort((a,b) => {
      return a-b // 升序
      // return b-a //降序
    })
    console.log(arr1) // [1,2,3,4,6]