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; });
 
原文地址:https://www.cnblogs.com/netlock/p/13232754.html