当前位置:首页 > 开发 > Web前端 > JavaScript > 正文

javascript数组splice删除函数使用时的注意事项

发表于: 2012-10-07   作者:blogzhoubo   来源:转载   浏览次数:
摘要: 使用splice函数对数组中的元素进行删除时的注意事项 删除值为c的元素: <script> var arr = new Array();arr[0] = 'a';arr[1] = 'b';arr[2] = 'c';arr[3] = 'c';arr[4] = 'e'; for(var i=0; i<arr.length; i++){    if

使用splice函数对数组中的元素进行删除时的注意事项

删除值为c的元素:

<script>

var arr = new Array();
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
arr[3] = 'c';
arr[4] = 'e';

for(var i=0; i<arr.length; i++){
    if(arr[i] == 'c'){
        arr.splice(i,1);
        i=i-1;    // 必须对i减去1,否则后面的一个元素会被跳过去
    }

}
</script>

 

注意:如果用for(i in arr)的话,后面的一个元素始终会跳过去

 

<script>

var arr = new Array();
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
arr[3] = 'c';
arr[4] = 'e';

for(i in arr){

    if(arr[i] == 'c'){
        arr.splice(i,1);
        i=i-1;    // 这行代码无效,i 的值并不会改变

    }
    alert(arr.length);
}
</script>

javascript数组splice删除函数使用时的注意事项

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
添加元素 console.info('------------------add---------------------'); console.info('----------
arguments 并不是数组,只是碰巧用数字做索引,以及一个length属性, getDocumentsByTagName(xxxx)获取
arguments 并不是数组,只是碰巧用数字做索引,以及一个length属性, getDocumentsByTagName(xxxx)获取
arguments 并不是数组,只是碰巧用数字做索引,以及一个length属性, getDocumentsByTagName(xxxx)获取
JavaScript中常见的数组操作函数及用法   昨天写了个帖子,汇总了下常见的JavaScript中的字符串操
假设有数组int a [2][3] = {1,2,3,4,5,6} 1、数组名为数组第一个元素的地址,即a为a[0]的地址 2、*
JavaScript中常见的数组操作函数及用法   昨天写了个帖子,汇总了下常见的JavaScript中的字符串操
java 中重载函数很常见,比如JDK 中的的FileInputStream构造方法就有重载: FileInputStream(File f
今天学习《从新手到高手C++全部精华教程》,http://www.iteye.com/topic/1126275 知道了函数调用的三
java 中重载函数很常见,比如JDK 中的的FileInputStream构造方法就有重载: FileInputStream(File f
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号