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方法几乎可以完整实现所有的数组删除和添加功能了。
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] +" ");
}
}
通过索引删除就可以了