如何在 JavaScript 中从数组中删除特定项
答案:使用splice()
方法
您可以使用 splice()
方法从 JavaScript 中特定索引处的数组中删除项目。 删除数组元素的语法可以用 splice(startIndex, deleteCount)
给出。
这里,startIndex
参数指定开始拼接数组的索引,它是必需的; 第二个参数 deleteCount
是要删除的元素数量(如果设置为 0,则不会删除任何元素)。 让我们看一个例子来了解它是如何工作的:
示例
<script>
var colors = ["Red", "Green", "Blue", "Yellow", "Orange"];
var removed = colors.splice(2,1); /* Removes the third element */
console.log(colors); /* Prints: ["Red", "Green", "Yellow", "Orange"] */
console.log(removed); /* Prints: ["Blue"] (one item array) */
console.log(removed.length); /* Prints: 1 */
var persons = ["Alice", "John", "Peter", "Clark", "Harry"];
removed = persons.splice(2,2); /* Removes the third and fourth elements */
console.log(persons); /* Prints: ["Alice", "John", "Harry"] */
console.log(removed); /* Prints: ["Peter", "Clark"] */
console.log(removed.length); /* Prints: 2 */
var fruits = ["Apple", "Banana", "Mango", "Orange", "Papaya"];
removed = fruits.splice(2); /* Removes all elements starting at index 2 */
console.log(fruits); /* Prints: ["Apple", "Banana"] */
console.log(removed); /* Prints: ["Mango", "Orange", "Papaya"] */
console.log(removed.length); /* Prints: 3 */
</script>
需要注意的是,splice()
方法会修改调用它的原始数组,并返回一个包含已删除元素的新数组,如果没有删除任何元素,则返回一个空数组。
此外,如果第二个参数(即 deleteCount
)被省略,则从数组开始到结束的所有元素都将被删除,如上例所示。
请查看 JavaScript 数组
上的教程以了解有关数组的更多信息。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: