理解 ActionScript 3 中的 Array::splice

11

我正在尝试从一个数组中移除一个对象,但不知何故它没有起作用。我认为splice方法接受两个参数:第一个是开始删除的数组位置,第二个是从该位置开始删除的数量。

我只想删除一个条目,所以我正在进行如下操作:

array.splice(i,0);

但它没有起作用。有人能告诉我我做错了什么,并让我知道它应该如何工作吗。


我对 array.splice 也不满意。 - n4pgamer
4个回答

40
如果你想删除一个元素,可以调用splice(index, 1)

7

您所描述的是您的代码将删除零个内容。请将第二个参数更改为 1

array.splice(i,1);

4
我们可以用 splice 方法做两件事情。
  1. 从数组中删除第一个元素。 arrayName.splice(索引,要删除的元素个数)

    例如:myArr.splice(0,1); // 删除数组中的第一个元素

    注意:数组索引从0开始,依次是1、2等....

  2. 向数组中添加元素。 arrayName.splice(要添加的索引位置, 0, 要添加的元素1, 要添加的元素2) 例如:myArr.splice(0,0,"A","B"); 注意:它会在myArr的0位置添加A,B元素,并且移动已有元素的索引号。


2

从数组中删除第一个元素的最佳方法是使用shift()

myArray.shift();

你也可以使用unshift()在数组的开头添加一个项目。

myArray.unshift( item );

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接