• 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; });
     
  • 相关阅读:
    九度oj 题目1371:最小的K个数
    九度oj 题目1131:合唱队形
    九度oj 题目1450:产生冠军
    九度oj 题目1135:字符串排序
    九度oj 题目1534:数组中第K小的数字
    九度oj 题目1179:阶乘
    九度oj 题目1369:字符串的排列
    九度oj 题目1100:最短路径
    [Luogu] 子串
    [Luogu] 魔法树
  • 原文地址:https://www.cnblogs.com/netlock/p/13232754.html
Copyright © 2020-2023  润新知