jquery中删除数组中的数据,数组的复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 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互不相关,修改一个里面的数据,不会影响另一个数组里面的数据

猜你喜欢

转载自blog.csdn.net/zhuchenglin830/article/details/84326983