js 数组的splice

splice():删除、插入和替换

1、删除:指定 2 个参数:要删除的第一项的位置和要删除的项数。

书写格式:arr.splice( 0 , 2 )

2、插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。

书写格式:arr.splice( 2,0,4,6 )

3、替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。

书写格式:arr.splice( 1,1,2,3 )

例子:

var arr = [1,3,5,7,9,11];
 var arrRemoved = arr.splice(0,2);
 console.log(arr); //[5, 7, 9, 11]
 console.log(arrRemoved); //[1, 3] 
var arrRemoved2 = arr.splice(2,0,4,6);
 console.log(arr); // [5, 7, 4, 6, 9, 11]
 console.log(arrRemoved2); // []
 var arrRemoved3 = arr.splice(1,1,2,4); 
console.log(arr); // [5, 2, 4, 4, 6, 9, 11]
 console.log(arrRemoved3); //[7]

 此外介绍用了两个数组方法,即pop()和unshift(),用splice实现

第一个:pop(),取出数组中的最后一项。

Array.prototype.pop2 = function () {
    //数组中的最后一项
    var res = this[this.length - 1];
    //原数组去掉数组中的最后一项
    this.splice(this.length - 1, 1);
    return res
}

 
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  var res = arr.pop2();
  alert(res)
  //9
  alert(arr)
  //[1,2,3,4,5,6,7,8]

  

第二个:unshift,取出数组中的第一项。

Array.prototype.unshift2 = function () {
    //数组中的第一项
    var res = this[0];
    //原数组去掉第一项
    this.splice(0, 1);
    return res
}


  

 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
  var res = arr.unshift2();
  alert(res)
  //1
  alert(arr)
  //[2,3,4,5,6,7,8,9]

  

 

posted @ 2023-01-06 15:30  小饿爽  阅读(416)  评论(0编辑  收藏  举报