数组方法总结(是否修改原数组)

137 阅读2分钟

改变原数组

  1. pop
    删除末尾,返回被删除项
    array.pop()
  1. push 末尾插入,data/...array
    array.push(data)
    array.push(data1,datd2,...)
  1. shift 头部删除,返回删除项
    array.shift(data)
  1. unshift()
    方法可向数组的开头添加一个或更多元素,并返回新的长度。
    array.unshift(data)
    array.unshift(data1,datd2,...)
  1. splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。 如果从 array中删除了元素,则返回的是含有被删除的元素的数组 替换或删除数组中指定元素后n个元素
    array.splice(index,howmany,item1,……,itemX)
  1. sort() 数组排序
    array.sort()
    array.sort(fn)
  1. reverse() 倒序排列,该方法会改变原来的数组,而不会创建新的数组。
    array.reverse()

不修改原数组

  1. map 返回新数组
    const newArr = arr.map((item)=>{return res})
  1. forEach 循环数组执行方法
    arr.forEach((item)=>{doSomething})
  1. filter 返回过滤后数组
   const newArr = arr.filter((item)=>{return Boolean})
  1. find 返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
   const data = arr.find((item)=>item>10)
  1. findIndex 方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1
   const index = arr.findIndex((item)=>item>10)
  1. slice 返回一个索引和另一个索引之间的数组
   const newArr = arr.slice(index1,index2)
  1. reduce 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
  const res= array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
  1. join 返回数组转字符串,按照所给参数拼接
   const string =arr.join()
   const string =arr.join('_')
  1. concat 多数组合并为一个数组,返回新数组
   const newArr = arr.concat([1,2,3],[2,3,4],...)
  1. some 数组中只要有元素满足条件则返回true,否则返回false
   const res = arr.some(fn)
  1. every 数组中全部元素满足条件则返回true,否则返回false
   const res = arr.every(fn)