常用的数组方法

记录常用数组方法

const arr = [1, 2, 3]

会改变原数组的

  1. push 向数组尾部添加新元素并返回添加后的长度
    arr.push(4) // [1, 2, 3, 4] 4
  2. pop 从数组尾部删除一个并返回删除的元素
    arr.pop() // [1, 2] 3
  3. unshift 从数组头部添加新元素并返回添加后的长度
    arr.unshift(-1, 0) // [-1, 0, 1, 2, 3] 5
  4. shift 从头部删除一个并返回删除的元素
    `arr.shift() // [2, 3] 1
  5. reverse 翻转数组并返回翻转后的数组
    `arr.reverse() // [3, 2, 1]
  6. fill 填充数组并返回填充后的数组
  7. sort 对数组进行排序, 默认升序,b-a为降序
    `const arr = [1, 3, 2] arr.sort() // [1, 2, 3]
  8. splice(start, length, end) 对数组进行增删替换,如果删除返回删除的数组,否则不返回
const a = arr.splice(1, 2)
console.log(a, arr) // [2, 3]  [1]
arr.splice(1, 0, 'a) // [1, 'a']
arr.splice(0, 0, 'b') // ['b', 'a']

9.copyWithin(targe, start, end) // targe复制到指定位置,start复制开始的索引位置,end停止复制的索引位置

不会改变原数组的

  1. concat 将参数合并成一个新数组,返回新数组
    arr.concat(4, [5, 6]) // [1, 2, 3, 4, 5, 6]
  2. join 将数组以一个分隔符分隔成字符串
    arr.join('-') // 1-2-3
  3. slice(start, end) 返回截取的数组,前闭后包
    arr.slice(1, 2) // [2]
  4. 遍历的有reduce, some,every,filter等
  5. map会根据数据格式有不同结果
const arr1 = [{name: 'sifan'}, {age: 12}, 1, 2]
const arr2 = [1, 2, 3, 4]
const arr3 = arr1.map(item => item)
const arr4 = arr2.map(item => item)
arr3[0].name = 'yunyun'
arr4[0] = 5
console.log(arr1, arr2, arr3, arr4);
// [ { name: 'yunyun' }, { age: 12 }, 1, 2 ]
// [ { name: 'yunyun' }, { age: 12 }, 1, 2 ]
// [ 1, 2, 3, 4 ]
// [ 5, 2, 3, 4 ]
  1. forEach被调用的时候不会改变原数组,但是他的回调函数可能会改变
posted @ 2022-11-04 11:06  卿六  阅读(35)  评论(0编辑  收藏  举报