JavaScript中的 函数splice() 的使用。

  大二接触JavaScript初期,学习函数中有一道题:

定义一个2个参数的函数。第1个参数是一个数组,第2个参数是需要删除的元素。函数功能,在第1个实参数组中查找第2个实参提供的值,找到则删除该元素(有几个删除几个),如果删除的元素不是最后一个元素,需要把后边的元素依次向前移动。输出删除前后形参数组和实参数组中的所有元素。实参数组【3,78,34,123,4,5,66,34,55】,删除34。

 

  在规定的数组里的查找与删除,有点类似于C语言中的指针。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 
 5 <title>测试</title>
 6 <script>
 7     function delArr(arr,x){
 8         var i=arr.length;
 9         while(i--){
10             if(arr[i]==x){
11                 arr.splice(i,1);
12                 return arr;
13             }
14         }
15     }
16     var arr=[3,78,34,123,4,5,66,34,55];
17     alert(arr);
18     alert(delArr(arr,34));
19     
20     
21 </script>
22 </head>
23 
24 <body>
25 
26 </body>
27 
28 </html>

 

js  splice() 

定义和用法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

 

在javascript中splice()方法有如下3种方式:

删除——可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除项的项数。

例如,splice(0,2)    会删除数组中的前两项。

插入——可以向指定位置插入任意数量的项,只需要提供3个参数:插入起始位置、0(要删除的项数)和要插入的项。 如果要插入多个项,可以再传入第四、第五,一直任意多个项。

例如,splice(2,0,”red”,”green”)  会从位置2开始插入字符串“red”和”green”。

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

提示和注释

注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

举例:

 1 <script>
 2 var colors = ["red", "green", "blue"];
 3 var removed = colors.splice(0,1);  //删除第一项
 4 alert(colors);  //green,blue
 5 alert(removed);  //red,返回数组中值包含一项
 6 
 7 removed = colors.splice(1, 0, "yellow", "orange");  //从位置1开始插入两项
 8 alert(colors);  //green,yellow,organge,blue
 9 alert(removed);  //返回的是一个空数组
10 
11 removed = colors.splice(1, 1, "red", "purple");  //插入两项,删除一项
12 alert(colors);  //green,red,purple,orange,blue
13 alert(remove);  //yellow, 返回的数组中只包含一项
14 </script>

 

 

 

参考来源:http://www.cnblogs.com/pumushan/p/5507862.html

posted @ 2017-10-07 18:08  刘可乐  阅读(10023)  评论(0编辑  收藏  举报