使用splice函数对数组中的元素进行删除时的注意事项
转载于:使用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>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。