JavaScript -Array splice() 方法



JavaScript Array.splice() 方法用于通过删除或替换现有元素或添加新元素来修改数组的内容。它接受参数作为起始索引、要删除的元素数和要添加的元素(可选)。然后,它返回一个包含已删除元素的数组。例如,array.splice(3, 5) 删除了从索引 3 开始的 5 个元素。

此方法不会为 result 创建新数组,而是覆盖原始数组。

语法

以下是 JavaScript Array.splice() 方法的语法 -


 array.splice(start, deleteCount, item1, item2, ..., itemN)

参数

此方法接受三个参数。下面描述相同 -

  • start - 用于添加或删除元素的索引 at。如果为负数,则从数组的末尾开始计数。
  • deleteCount - 这指定要在数组中删除的 number 元素。如果为 0,则不会删除任何元素。
  • item1, ..., itemN − 要添加到数组中的元素,从 start 索引开始。

返回值

此方法返回一个包含已删除元素的数组。如果未删除任何元素,则返回一个空数组。

示例 1

在下面的示例中,我们使用 JavaScript Array.splice() 方法删除所有数组元素,从索引位置 2 开始。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger", "Elephant", "Dinosaur"];
	 	 	 const result = animals.splice(2);
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,索引位置 2 中的所有元素都将被删除。

输出

Lion,Cheetah

示例 2

如果 splice() 方法的 'deleteCount' 参数为 0,则不会从 animals 数组中删除任何元素。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger", "Elephant", "Dinosaur"];
	 	 	 const result = animals.splice(2, 0);
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

输出

Lion,Cheetah,Tiger,Elephant,Dinosaur

示例 3

以下程序删除索引位置 2 之前的 0(零)个元素,并插入新元素 “Elephant”。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger"];
	 	 	 const result = animals.splice(2, 0, "Elephant");
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

输出

正如我们所看到的,元素 “Elephant”入到索引位置 2 处,而没有删除任何现有元素。

Lion,Cheetah,Elephant,Tiger

示例 4

以下程序删除索引位置 2 之前的 0(零)元素,并插入两个新元素,即 “Elephant” 和 “Dinosaur”。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger"];
	 	 	 const result = animals.splice(2, 0, "Elephant", "Dinosaur");
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

输出

正如我们所看到的,元素 “Elephant” 和 “Dinosaur”入到索引位置 2 处,而没有删除任何现有的元素。

Lion,Cheetah,Elephant,Dinosaur,Tiger

示例 5

在以下示例中,我们将从索引位置 2 开始删除 2 个元素。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger", "Elephant", "Dinosaur"];
	 	 	 const result = animals.splice(2, 2);
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,splice() 方法从数组中删除了 “Tiger” 和 “Dinosaur”。

输出

Lion,Cheetah,Dinosaur

示例 6

在这里,我们在索引位置 2 处删除 1 个元素,并插入一个新元素 “Elephant”。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger"];
	 	 	 const result = animals.splice(2, 1, "Elephant");
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,元素 “tiger” 将被删除,而 “elephant” 将入到该索引中。

输出

Lion,Cheetah,Elephant

示例 7

在这里,我们在索引位置 2 处删除了 1 个元素,并插入了两个新元素 “Elephant” 和 “Dinosaur”。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger"];
	 	 	 const result = animals.splice(2, 1, "Elephant", "Dinosaur");
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,元素 “tiger” 将被删除,元素 “elephant” 和 “Dinosaur” 将入。

输出

Lion,Cheetah,Elephant,Dinosaur

示例 8

在以下示例中,我们将从索引 -2 中删除 1 个元素(从数组末尾开始的计数)。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger", "Elephant", "Dinosaur"];
	 	 	 const result = animals.splice(-2, 1);
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,元素 “Elephant” 将被删除。

输出

Lion,Cheetah,Tiger,Dinosaur

示例 9

在这里,我们从索引 -2 中删除 1 个元素(从数组末尾开始的计数),并插入两个新元素 “Elephant” 和 “Dinosaur”。


<html>
<body>
	 	<p id="demo"></p>
	 	<script>
	 	 	 const animals = ["Lion", "Cheetah", "Tiger"];
	 	 	 const result = animals.splice(-2, 1, "Elephant", "Dinosaur");
	 	 	 document.getElementById("demo").innerHTML = animals;
	 	</script>
</body>
</html>

执行程序后,元素 “Cheetah” 将被删除,而 “Elephant” 和 “Dinosaur” 将被删除。

输出

Lion,Elephant,Dinosaur,Tiger