js数组常用方法

118 阅读2分钟
  • Array.push()

    向数组末尾添加一个或多个元素,返回值为数组的长度,改变原数组

  • Array.unshift()

向数组头部新增一个或多个元素,返回数组长度,改变原数组

  • Array.pop()

    删除最后一个元素,返回值为删除的这个元素,改变原数组

  • Array.shift()

    删除第一个元素,返回值为删除的这个元素,改变数组

  • Array.concat()

    合并数组,返回新数组,不改变原数组

  • Array.join()

    将数组的每一项使用指定的字符形成字符串,默认是“,”,返回值为新字符串,不改变原数组

  • Array.reverse()

    将数组进行倒序排列,返回新数组,改变原数组

  • Array.sort()

    对元素进行排序(按字符串的Unicode排序),返回新数组,原数组改变

  • Array.map(fun)

    原数组每一项执行函数后,返回新数组,原数组不变

  • Array.slice()

    截取,返回新数组,不改变原数组

    Array.slice(n,m) 截取时包含n,不包含m

    Array.slice(n)从n截取到最后

    Array.slice(0) 原样输出,可用于克隆

    Array.slice(-n,-m)从最后一项算起,-1为最后一项,-2为倒数第二项

  • Array.splice(index,num,arr1,arr2...)

    用户添加/删除数组中的元素。返回新数组,原数组改变

    从index开始删除元素,删除num个,返回被删除的元素,并将arr1,arr2...从index位置依次插入,原数组改变

  • Array.forEach(fun)

    循环数组,返回值undefined,原数组不变

    • 使用return或终止循环时返回值undefined原因

      forEach没有返回值,只针对每个元素调用fun

      无法在所有元素遍历之前终止遍历/return/跳出循环

  • Array.filter(fun)

    过滤数组,返回符合条件的新数组,原数组不变

  • Array.every(fun)

    对数组每一项进行判断,都符合才返回true,一个不符合返回false

  • Array.some()

    对数组的每一项进行判断,只要一项符合就返回true,全不符合返回false

  • Array.reduce(fun(pre,cur ,index ,arr))

    数组中的每个值从左到右缩减,最终计算成一个值

    pre:上一次reduce返回的数据

    cur:当前正被处理的数组元素

    index:当前数组在数组中的索引

    arr:调用reduce的数组

  • Array.indexOf(item,start)

    检测当前值在数组中第一次出现的位置并返回,没有返回-1,start:开始检索的位置,不改变原数组

  • Array.includes()

    判断数组是否包含指定的值,返回true/false,不改变原数组