数组方法总结

102 阅读2分钟

一、改变原数组

  1. push():尾增,返回新增元素后数组的长度
  2. unshift() :头增,返回删除元素后数组的长度
  3. pop() :尾删,返回被删除的项
  4. shift() :头删,返回被删除的项
  5. reverse():反转,反转后的新数组
  6. sort(fun(){}) :排序,排序后的新数组 function (a,b) {return a-b} 返回值为负值时,升序,正值降序
  7. splice(n,x,m):增、删、改
  • (n,x,m)从下标为n的元素开始,删除x个元素,在此位置将m插入
  • (n,0,m)从下标为n开始,不删除元素,直接插入m
  • (n,x)从下标为n开始,删除x个元素

二、不改变原数组

  1. slice(a,b) :截取数组的一部分数据 可以用于浅拷贝
  2. join('-'): 返回用指定分隔符拼接成的字符串
  3. concat(arr1, arr2, str3...) :拼接 拼接后的新数组
  4. indexOf(item, star) : 从star下标开始查找,第一次出现item元素的索引,未找到返回-1
  5. lastIndexOf(item, star) : 最后一次出现的索引
  6. forEach(function(item, index, arr){}) :遍历
  7. includes(item,index) : 是否包含指定元素item,从index开始
  8. reduce(function (prev,item,index,arr) {},初始值)
  • prev :一开始就是初始值 当第一次有了结果以后;这个值就是第一次的结果
  • item : 这个表示的是数组中的每一项
  • index : 这个表示的是每一项对应的索引
  • arr : 这个表示的是原数组
var arr = [1, 2, 3, 4, 5]
var res = arr.reduce(function (prev, item) {
  return prev *= item
}, 1)
console.log(res);//120
  1. filter(function (item,index,arr) {}
  • item : 这个表示的是数组中的每一项
  • index : 这个表示的是每一项对应的索引
  • arr : 这个表示的是原数组
var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr);
var res = arr.filter(function (item) {
  return item > 2
})
console.log(res);
  1. every(function (item,index,arr) {}) 判断数组中是不是每一个都满足条件
  2. some(function (item,index,arr) {}) 判断数组中是不是有满足条件
  3. map(function (item,index,arr) {}) 用来映射
var arr = [1, 2, 3, 4, 5]
console.log('原始数组 : ', arr);
var res = arr.map(function (item) {
  return item*1000
})
console.log(res);