0

可能有一个简单的方法,但困扰着我。

我正在尝试Splice如下二维数组:

removeChild(test[1].splice(currShape, 1));

但不会拼接它,并让我出现以下错误:

Type Coercion failed: cannot convert []@29258d59 to flash.display.DisplayObject.

任何帮助将不胜感激。

4

2 回答 2

3

问题是splice返回一个数组,并且removeChild需要一个displayObject.

这行得通吗?

removeChild(test[1].splice(currShape, 1)[0]);
于 2013-08-23T18:26:38.697 回答
2

你的电话splice()实际上是有效的。请注意,splice()方法返回一个Array包含从原始 中删除的元素Array

然后,您将作为参数返回的Array那个传递给. 它是失败的方法......它期望参数不是 a ,所以它抛出异常。splice()removeChild()removeChild()DisplayObjectArray

您可能可以更改您的代码来执行以下操作,为了清楚起见写在两行:

var removedItems:Array = test[1].splice(currShape, 1);
removeChild( removedItems[0] );
于 2013-08-23T18:28:31.127 回答