js 根據條件刪除數組中某個對象&js filter (find)過濾數組對象的使用


刪除 ----  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對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM