1. 程式人生 > 實用技巧 >js 根據條件刪除陣列中某個物件&js filter過濾陣列物件的使用

js 根據條件刪除陣列中某個物件&js filter過濾陣列物件的使用

刪除 ---- 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; });