版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuchenglin830/article/details/84326983
1、第一种方法:根据数组下标删除数据
for(var i=0;i<arr1.length;i++){
arr1.splice(i,1)
console.log(arr1);
}
arr1的长度是在改变的,i越来越大,arr1.length越来越小,这样会导致删除不了全部,如果循环里面做与i有关的数据 操作时,可能会报错
2、第二种方法:根据数据内容删除对应的数据
这种方法的使用情况针对:删除指定内容的元素时使用
for(var i=0;i<arr.length;i++){
if(a=="a"){
arr.splice($.inArray(a,arr),1)
}
}
这样就会把数组中数据为“a”的元素删除
另外介绍一下js中的数组复制的问题
var arr=[];
var newarr=arr;
这种情况下,arr与newarr指向的其实是同一个地址,当对arr使用上诉删除方法时,newarr中的数据也会发生改变,如果想要arr与newarr为两个不相干的数组,可以使用下面的方法进行复制:
var arr=[];
var newarr=$.extend(true, [], arr);;
这样arr与newarr互不相关,修改一个里面的数据,不会影响另一个数组里面的数据