Home  >  Article  >  Web Front-end  >  JavaScript method splice() to delete elements and add new elements to an array

JavaScript method splice() to delete elements and add new elements to an array

黄舟
黄舟Original
2017-11-03 14:02:162381browse

Definition and Usage

The splice() method adds/removes items to/from the array, and then returns the deleted item.

Note: This method will change the original array.

Syntax

arrayObject.splice(index,howmany,item1,.....,itemX)
Parameters Description
index Required. Integer, specifies the position of adding/deleting items. Use negative numbers to specify the position from the end of the array.
howmany Required. The number of items to delete. If set to 0, items will not be deleted.
item1, ..., itemX Optional. New items added to the array.

Return value

Type Description
Array A new array containing the deleted items, if any

Description

The splice() method removes items from Zero or more elements starting at index and replaces those removed elements with one or more values ​​declared in the argument list.

If an element is deleted from arrayObject, an array containing the deleted element is returned.

Technical Details

JavaScript Version: 1.2

浏览器支持

所有主流浏览器都支持 splice() 方法。

提示和注释

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

实例

例子 1

在本例中,我们将创建一个新数组,并向其添加一个元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")arr.splice(2,0,"William")document.write(arr + "<br />")

</script>

输出

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子 2

在本例中我们将删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")arr.splice(2,1,"William")document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin

例子 3

在本例中我们将删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")arr.splice(2,3,"William")document.write(arr)

</script>

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

JavaScript中的splice主要用来对js中的数组进行操作,包括删除,添加,替换等。

注意:这种方法会改变原始数组!。

1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)

2.插入-向数组指定位置插入任意项元素。三个参数,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项)

3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数。第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)

示例:

1、删除功能,第一个参数为第一项位置,第二个参数为要删除几个。

array.splice(index,num),返回值为删除内容,array为结果值。

<!DOCTYPE html> 
<html> 
<body> 
<script> 
var array = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
var removeArray = array.splice(0,2); 
alert(array);//弹出c,d 
alert(removeArray);//返回值为删除项,即弹出a,b 
</script> 
</body> 
</html>

2、插入功能,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项)

array.splice(index,0,insertValue),返回值为空数组,array值为最终结果值

!DOCTYPE html> 
<html> 
<body> 
<script> 
var array = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
var removeArray = array.splice(1,0,&#39;insert&#39;); 
alert(array);//弹出a,insert,b,c,d 
alert(removeArray);//弹出空 
</script> 
</body> 
</html>

3、替换功能,第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项)

array.splice(index,num,insertValue),返回值为删除内容,array为结果值。

<!DOCTYPE html> 
<html> 
<body> 
<script> 
var array = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]; 
var removeArray = array.splice(1,1,&#39;insert&#39;); 
alert(array);//弹出a,insert,c,d 
alert(removeArray);//弹出b 
</script> 
</body> 
</html>


The above is the detailed content of JavaScript method splice() to delete elements and add new elements to an array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn