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 中的所有元素都将被删除。
输出
示例 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>
输出
示例 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 处,而没有删除任何现有元素。
示例 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 处,而没有删除任何现有的元素。
示例 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”。
输出
示例 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” 将入到该索引中。
输出
示例 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” 将入。
输出
示例 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” 将被删除。
输出
示例 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” 将被删除。
输出