可能有一种简单的方法,但困扰我。
我正在尝试Splice
一个二维数组,如下所示:
removeChild(test[1].splice(currShape, 1));
但不会拼接它,并让我跟随错误:
Type Coercion failed: cannot convert []@29258d59 to flash.display.DisplayObject.
任何帮助都将不胜感激。
答案 0 :(得分:3)
问题是splice
返回一个数组,removeChild
需要displayObject
。
这有用吗?
removeChild(test[1].splice(currShape, 1)[0]);
答案 1 :(得分:2)
您对splice()
的电话确实有效。请注意,splice()方法会返回Array
,其中包含从原始Array
中删除的元素。
然后,将Array
作为参数返回的splice()
传递给removeChild()
。并且removeChild()
方法失败了......它期望参数为DisplayObject
而不是Array
,因此抛出异常。
为了清楚起见,您可以更改代码以执行以下操作,写在两行上:
var removedItems:Array = test[1].splice(currShape, 1);
removeChild( removedItems[0] );