JavaScript Array splice()方法的替代方法

JavaScript Array splice()方法的替代方法

数组splice()方法 是JavaScript的一个方法,本文将讨论这个方法的替代方法。以下是讨论的两个示例。

方法1

在这个方法中,startIndex(从哪里开始删除元素)和count(要删除的元素数量)是变量。如果未传递count,则将其视为1。运行一个 while循环 ,直到count大于0,开始删除所需元素并推入一个新数组。在循环结束后返回这个新数组。

示例: 此示例显示了上面解释的方法。

<body style="text-align:center;"> 
    <h1 style="color:green;"> 
        GeeksforGeeks 
    </h1> 
    <p id="GFG_UP"> 
    </p> 
  
    <button onclick="myGFG()"> 
        Click Here 
    </button> 
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var arr = [0, 3, 1, 5, 2, 7, 4, 9, 10]; 
        var up = document.getElementById("GFG_UP");  
        up.innerHTML =  
        "Alternative of Array splice() method in JavaScript."+ 
             " <br>Array = [" + arr + "]"; 
        var down = document.getElementById("GFG_DOWN"); 
        function mySplice(arr, ind, ct) { 
          // if ct(count) not passed in function call. 
          if (typeof ct == 'undefined') { 
          ct = 1; 
          } 
          var rem = []; 
          while (ct--) { 
            var indRem = ind + ct; 
          //pushing the elements rem array 
            rem.push(arr[indRem]); 
         // removing the element from original array. 
            arr[indRem] = arr.pop();  
          } 
         // returning the removed elements 
          return rem;  
        } 
        function myGFG() { 
        down.innerHTML =  
          "Removed Elements - " + mySplice(arr, 4, 3); 
        }  
    </script> 
</body>

输出:

JavaScript Array splice()方法的替代方法

方法2

在这个方法中,使用 slice()方法 来获取被移除的元素,同时也用这个方法来获取输出数组。这个方法还需要传入要插入数组的新元素作为参数。

示例: 这个例子展示了上述方法。

<body style="text-align:center;"> 
    <h1 style="color:green;"> 
        GeeksforGeeks 
    </h1> 
    <p id="GFG_UP"> 
    </p> 
  
    <button onclick="myGFG()"> 
        Click Here 
    </button> 
    <p id="GFG_DOWN"></p> 
  
    <script> 
        var arr = [0, 3, 1, 5, 2, 7, 4, 9, 10]; 
        var up = document.getElementById("GFG_UP");  
        up.innerHTML = "Alternative of Array splice() "+ 
        "method in JavaScript.<br>Array = [" + arr + "]"; 
        var down = document.getElementById("GFG_DOWN"); 
        Array.prototype.altSplice = function(s, tRemv, insert ) { 
          
            var rem = this.slice( s, s + tRemv ); 
            var temp =  
         this.slice(0, s).concat( insert, this.slice( s + tRemv ) ); 
            this.length = 0; 
            this.push.apply(this, temp ); 
            return rem; 
        }; 
        function myGFG() { 
            down.innerHTML =  
            "Splice result - " +  
             arr.altSplice(3, 2, 6) + 
              "<br>Original array - " + arr; 
        }  
    </script> 
</body>

输出:

JavaScript Array splice()方法的替代方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程