AS3.0删除数组中指定位置的元素

2025-02-24 21:28:30
推荐回答(3个)
回答1:

1、ipos = int(inputNum);

inputNum是什么东西?你可以trace一下,如果inputNum是输入文本的话,那么int(inputNum)始终等于0啊,正确的应该是 ipos = int(inputNum.text);

2、删除指定数组指定位置的元素,很简单:
var ipos:int = int(inputNum.text);
aDatabase.splice(ipos,1);

两行搞定。和你以前那个不同,这个就彻底删除了,不是把之后的元素都向前移动一位。

顺便和你说说数组的splice用法,splice有三个参数,第一个是开始删除的位置,比如上例从ipos开始删除,就传递ipos这个参数。如果是-1,就是从最后一个开始索引。第二个是删除的个数,1就是删除一个元素,2就删除两个……还有第三个可选参数,是添加元素,就是在ipos这个位置之后添加进数组的元素,可以是多个。所以一个splice方法几乎可以完整实现所有的数组删除和添加功能了。

回答2:

Array数组删除第一函数用shift()

即可删掉第一个元素

aDatabase1.shift();

完整代码:

btnposDel.addEventListener(MouseEvent.CLICK,posDel);
function posDel(e:MouseEvent):void
{
    output1.text = "";
    var ipos:int;iNumArray = 10;
    ipos = int(inputNum);
    for(i=ipos;i<10;i++)
    {
        aDatabase1[i] = aDatabase1[i+1];
    }
    iNumArray--;
    //这样就会删掉aDatabase1数组的第一个元素
    aDatabase1.shift();
    for(i=0;i    {
        output1.appendText(aDatabase1[i] +" ");
    }
}

回答3:

通过索引删除就可以了