1. 程式人生 > >jquery中刪除陣列中的資料,陣列的複製

jquery中刪除陣列中的資料,陣列的複製

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互不相關,修改一個裡面的資料,不會影響另一個數組裡面的資料