js 根據條件刪除陣列中某個物件&js filter過濾陣列物件的使用
阿新 • • 發佈:2020-07-03
刪除 ---- item不設定
arr.splice(1,1) //['a','c','d']刪除起始下標為1,長度為1的一個值,len設定的1,如果為0,則陣列不變
arr.splice(1,2) //['a','d'] 刪除起始下標為1,長度為2的一個值,len設定的2
替換 ---- item為替換的值
arr.splice(1,1,'ttt') //['a','ttt','c','d'] 替換起始下標為1,長度為1的一個值為‘ttt’,len設定的1
arr.splice(1,2,'ttt') //['a','ttt','d'] 替換起始下標為1,長度為2的兩個值為‘ttt’,len設定的1
新增 ---- len設定為0,item為新增的值
arr.splice(1,0,'ttt') //['a','ttt','b','c','d'] 表示在下標為1處新增一項‘ttt’
看來還是splice最方便啦
2:delete delete刪除掉陣列中的元素後,會把該下標出的值置為undefined,陣列的長度不會變
如:delete arr[1] //['a', ,'c','d']中間出現兩個逗號,陣列長度不變,有一項為undefined
根據id查詢到物件數組裡面的物件,然後移除該物件
array 是定義的陣列
var array = [{id:1,name:"b"},{id:2,name:"b"}]; for (var i = 0;i < array.length; i++){ if (ary[i].id==2){ ary.splice(i,1); } }
使用js filter
var arr = [1,2,'',3,' ']; var arr2=arr.filter(function (item) { return item; });
var array = [{id:1,name:"b"},{id:2,name:"b"}];
var arr2=arr.filter(function (item) {
return item.id!=1;
});