刪除 ---- 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; });
使用find
find()方法返回數組中第一個滿足回調函數測試的第一個元素的值。否則返回undefined const arr1 = [1, 2, 3, 4, 6, 9]; let found = arr1.find(e => e > 5); // 6 參數: 第一個:執行的回調函數 第二個:指定回調函數的this對象