`

as3 splice删除元素需要注意的地方

 
阅读更多
在for循环里删除原始,也要修改下标值,下面的代码演示不更新下标植变量出现的情况:

var numbers:Array=new Array(4,10);

numbers[4]=1;

trace(numbers);//显示:4,10,undefined,undefined,1

for(var i:int=0;i<numbers.length;i++){

if(number[i]==undefined){

numbers.splice(i,1);

}

}

trace(numbers);//显示:4,10,undefined,1

上面的代码本来是期望删除全部undefined元素的,结果只删除一个,调试运行:

1.前两个循环什么都没做,因为都不是undefined.

2.第三次找到undefined然后删除它,这时,第4个和第5个元素下移变成了第3个和第4个

3.下一循环检测第4个元素,也就是最后一个,这时忽略了第3个元素也就是那个undefined元素,因此,当删除元素,应该把下标变量减1,代码应该这样:

var numbers:Array=new Array(4,10);

numbers[4]=1;

trace(numbers);

for(var i:int=0;i<numbers.length;i++){

if(number[i]==undefined){

number.splice(i,1)

i--;

}

}

trace(numbers);//显示:4,10,1
分享到:
评论

相关推荐

    javascript数组元素删除方法delete和splice解析

    这篇文章主要介绍了javascaipt数组元素删除方法delete和splice解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、用delete 删除数组中元素(少用) 说明:...

    javascript splice数组简单操作

    例如,若要删除数组中的一个元素,可以使用数组名和splice方法,如array.splice(index, 1),其中index是要删除元素的索引,1是要删除的元素数量。 5. 比较操作:给定文件提到了“比较简单的删除数组中数据操作”,...

    php数组中删除元素之重新索引的方法

    `array_splice()`不仅可以删除元素,还能在数组中插入或替换元素,同时保留原有的索引顺序。对于删除操作,其语法为: ```php array_splice(array &$input, int $offset, int $length = 0, mixed $replacement = ...

    新技术培训 培训讲义2_AS3数组.doc

    9. **splice**:在数组中添加/删除元素,非常灵活。 10. **toString**:将数组转换为以逗号分隔的字符串。 11. **join**:将数组元素连接成一个字符串,自定义分隔符。 12. **split**:将字符串根据分隔符拆分成数组...

    PHP程序设计-3期(KC016) 2.7.4 数组操作(修改)课后习题.doc

    因为`array_splice`需要指定开始位置、长度以及要插入的值,而在遍历过程中,我们只需要修改当前元素,不需要关心其在数组中的位置。但是,为了满足题目要求,我们可以这样使用`array_splice`: ```php $array = [1...

    PHP删除数组中特定元素的两种方法

    - **`array_splice()`**:删除元素的同时会重置数组的索引,适合于需要保留连续索引的情况。如果数组中的元素是按照某种逻辑顺序排列的,且希望删除元素后继续保持这种顺序,`array_splice()`可能是一个不错的选择。...

    javascript 删除数组元素和清空数组的简单方法

    在IE5.5及以上版本,`splice()`方法可以用来删除元素,但不会真正减少数组长度。为了解决这个问题,可以自定义`remove`或`baoremove`等方法,它们基于`slice()`和`concat()`来实现删除功能,这些方法在所有现代...

    php 删除一维数组中某一个值元素的操作方法

    这种方法简单直观,但效率较低,因为每次删除元素后,数组的键值会重新排序。 ```php $tmp = '324'; $arr = array('0' =&gt; '321', '1' =&gt; '322', '2' =&gt; '323', '3' =&gt; '324', '4' =&gt; '325', '5' =&gt; '326'); ...

    javascript中substr,substring,slice.splice的区别说明

    `index`参数是必需的,指定添加/删除元素的开始位置;`howmany`参数也必需,表示要删除的元素数量;`element1`等参数是可选的,表示要插入的元素。`splice()`会直接修改原始数组。 在使用这些方法时,尤其要注意...

    javascript数组操作(创建、元素删除、数组的拷贝)

    - `arrayObj.splice(deletePos, deleteCount)` 删除从指定位置开始的指定数量的元素,返回被移除的元素数组。 5. **数组的截取和合并** - `arrayObj.slice(start, [end])` 返回数组的一部分,不包括end对应的元素...

    php常用数组函数介绍_.docx

    首先,`array_splice()`函数是用于在数组中插入、删除或替换元素的。它的基本用法是`array_splice(数组名,开始位置,删除个数,新数组)`。如果省略了"新数组",则表示删除指定个数的元素;如果提供了"新数组",则会...

    FlashMX AS教程

    - **Array.splice**:删除元素,插入新元素,并返回被删除的元素。 - **Array.toString**:把数组转换为字符串。 - **Array.unshift**:在数组的开头添加一个或更多元素,并返回新的长度。 ##### 6. Boolean 函数/...

    PHP常用数组函数介绍__1.docx

    1. **`array_splice()`** 函数允许你在数组中插入或删除元素。其基本语法是 `array_splice(数组名,开始位置,删除数量,可选:新数组)`。例如: ```php $my_array = array("hehe" =&gt; "haha", "A" =&gt; "lu", "lu" =...

    actionscript 3学习随笔

    - **splice()**:删除/替换数组中的元素,并返回被删除的元素。 #### AS3 的事件机制 事件机制基于观察者模式,其中事件分发者负责分发事件,而事件监听者则订阅这些事件。Flex 提供了一系列内置事件类型,同时...

    Javascript删除数组里的某个元素

    删除数组中的某个元素,首先需要确定需要删除元素的索引值。 var arr=[1,5,6,12,453,324]; function indexOf(val){ for(var i = 0; i &lt; arr xss=removed xss=removed&gt; -1){arr.splice(index,1);} } 验证下,是否...

    Javascript数组循环遍历之forEach详解

    - 如果在遍历过程中删除数组元素,不会影响已计划的迭代,但之后的索引可能会跳过一些值。 - 在回调函数中,`this`的值取决于传递给`forEach`的`thisArg`参数,如果没有提供,则在严格模式下为`undefined`,在非...

    javascript检查某个元素在数组中的索引值

    9. `splice()`: 删除指定位置的元素,也可以插入新元素,改变数组的内容。 10. `toSource()`: 返回对象的源代码,主要用于调试。 11. `toString()`: 将数组转换为字符串,元素间默认用逗号分隔。 12. `valueOf()`: ...

    javascript删除数组元素的七个方法示例

    前面调侃了几句,回归正题,这里要总结7个在JavaScript中删除Array元素的方法,分别是利用length属性、delete关键字、pop()栈方法、shift()队列方法、splice()操作方法、forEach()或filter()迭代方法和prototype原型...

    ACTIONSCRIPT 3.0 开发人员指南

    - **删除元素**:`arr.splice(index, count)` - 删除指定数量的元素。 - **排序**:`arr.sort(compareFunction)` - 对数组进行排序。 - **遍历**:`arr.forEach(function(item, index, array))` - 遍历数组元素。 ...

Global site tag (gtag.js) - Google Analytics