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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS3.0删除数组中指定位置的元素相关的知识,希望对你有一定的参考价值。

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方法几乎可以完整实现所有的数组删除和添加功能了。
参考技术A

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] +" ");
    

本回答被提问者采纳
参考技术B 通过索引删除就可以了

删除数组中指定的某个元素

/**
 * 删除数组中指定的某个元素
 */
function removeByValue(arr, val) {
  for(var i=0; i<arr.length; i++) {
    if(arr[i] == val) {
      arr.splice(i, 1);
      break;
    }
  }
}
var somearray = ["mon", "tue", "wed", "thur"]
removeByValue(somearray, "tue");
console.log(somearray)

  

以上是关于AS3.0删除数组中指定位置的元素的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中如何删除数组中指定元素后形成新的数组

js怎么从数组中删除指定值(不是指定位置)的元素?

php删除数组中指定值的元素

删除数组中指定的某个元素

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)