AS3.0删除数组中指定位置的元素
btnposDel.addEventListener(MouseEvent.CLICK,posDel)functionposDel(e:MouseEvent){outpu...
btnposDel.addEventListener(MouseEvent.CLICK,posDel)function posDel(e:MouseEvent){ output1.text = ""; var ipos:int;iNumArray = 10; ipos = int(inputNum); for(i=ipos;i<10;i++) aDatabase1[i] = aDatabase1[i+1]; iNumArray--; for(i=0;i<iNumArray;i++) output1.appendText(aDatabase1[i] +" ")}
btnposDel.addEventListener(MouseEvent.CLICK,posDel)
function posDel(e:MouseEvent)
{
output1.text = "";
var ipos:int;
iNumArray = 10;
ipos = int(inputNum);
for(i=ipos;i<10;i++)
aDatabase1[i] = aDatabase1[i+1];
iNumArray--;
for(i=0;i<iNumArray;i++)
output1.appendText(aDatabase1[i] +" ")}
每次只把第一个删除了 展开
btnposDel.addEventListener(MouseEvent.CLICK,posDel)
function posDel(e:MouseEvent)
{
output1.text = "";
var ipos:int;
iNumArray = 10;
ipos = int(inputNum);
for(i=ipos;i<10;i++)
aDatabase1[i] = aDatabase1[i+1];
iNumArray--;
for(i=0;i<iNumArray;i++)
output1.appendText(aDatabase1[i] +" ")}
每次只把第一个删除了 展开
展开全部
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方法几乎可以完整实现所有的数组删除和添加功能了。
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<iNumArray;i++)
{
output1.appendText(aDatabase1[i] +" ");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过索引删除就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询