js数组方法之改变或不改变原数组

数组方法

改变原数组

  • push() :将参数添加到数组尾部

    • 返回添加后的数组的长度
  • pop() : 将参数从数组尾部删除

    • 返回删除的元素值,如果数组的长度为0,则返回undefined
  • unshift() : 将参数添加到数组头部

    • 返回添加的数组的长度
  • shift() : 将参数从数组头部删除

    • 返回删除的元素值,如果数组的长度为0,则返回undefined
  • reverse() : 数组倒序

    • 返回倒序后的数组,并不会创建新数组
  • sort() : 数组排序

    • 返回排序后的数组,但是范围只满足0-9的元素,超过这个值就得调用他的回调函数
    • 用法如下: a - b , 正序, b - a, 倒序, a - b = 0,返回0
    var arr = [2,1,3,4, 15, 11, 14, 12]
    arr.sort((a, b) => a - b) //[1, 2, 3, 4, 11, 12, 14, 15]
    arr.sort((a, b) => b - a) // [15, 14, 12, 11, 4, 3, 2, 1]
    
    // 错误的使用,因为元素已经大于9了
     arr.sort() // [1, 11, 12, 14, 15, 2, 3, 4]
    

不改变原数组

  • concat(): 用于合并两个或多个数组

    • 返回合并的一个数组的副本(也就是和原数组不相等)
    var arr = [1,2]
    var arr2 = arr.concat()  // [1,2]
    arr != arr2 // true
    
  • join() : 返回一个字符串

    • [1,2].join() // ‘1,2’
  • slice(start, end): 剪切从索引start,到索引end数组

    • 开闭区间: [start,end)返回一个新的数组
  • splice(start, deleteCount, item1, item2,…): 插入或移除或替换元素

    • 如果是移除或替换,则返回数组中被移除的元素所组成的新数组,如果不是删除,则返回空数组
    • 参数:
      1. start: 起点索引
      2. deleteCount: 需要移除的元素个数
      3. item1,item2…: 需要插入的参数
    var arr = [1,2,3,4];
    ---------新增---------------
    arr.splice(1,0,4,5) // 插入返回空数组 []
    console.log(arr) // [1,4,5,3,4]
    --------替换[1,4,5,3,4]----------
    arr.splice(1,1,10,11) // 返回被替换的元素 [4]
    console.log(arr) // [1,10,11,5,3,4]
    --------移除[1,10,11,5,3,4]-------
    arr.splice(1,3) // [10, 11, 5]
    console.log(arr) // [1,3,4]
    
发布了3 篇原创文章 · 获赞 2 · 访问量 106

猜你喜欢

转载自blog.csdn.net/weixin_43738272/article/details/104204502