精华内容
下载资源
问答
  • 对象数组删除一个对象js
    2022-08-04 09:34:06

    举个栗子:简单数组  new set即可

    const arr = [1,2,3,3,4,4,5,6];
    arr = [...Array.from(new Set(arr))];

     

    举个栗子:复杂数组对象,经常用于element(table)多个勾选,跨页勾选,要与原数组对比,去新增多个或者删除多个数据,这里就涉及去重和下面我们遇到的情景;

    问题:正常我们使用forEach去循环删除,这个时候每次删除完成数组的数据以及下标和循环的就不对了,所以不能循环删除

    情景:我要删除多个数组中的对象

      const list=[
              {name:123,id:1},
              {name:456,id:2},
              {name:789,id:3},
              {name:666,id:4},
              {name:777,id:5},
            ];
      //假如我要一次性删除id为1,2,3的
      const ids=[1,2,3];
      ids.forEach(item => {
              list = list.filter(items => items.id!== item);
            });

    结束了~~~

    更多相关内容
  • 该方法是用来删除对象数组里面某个对象,造轮子方便大家使用。
  • 1、需求 ... { date: "2021-07-19", week: "星期" }, { date: "2021-07-20", week: "星期二" }, { date: "2021-07-21", week: "星期三" }, { date: "2021-07-22", week: "星期四" }, { date: ......

     1、需求 

            批量删除选中的数据,点击删除时从list中删除setList包括的所有数据:

    2、实现

    let list = [
        { date: "2021-07-19", week: "星期一" },
        { date: "2021-07-20", week: "星期二" },
        { date: "2021-07-21", week: "星期三" },
        { date: "2021-07-22", week: "星期四" },
        { date: "2021-07-23", week: "星期五" },
        { date: "2021-07-24", week: "星期六" },
        { date: "2021-07-25", week: "星期日" }
    ]
    
    let setList = [
        { date: "2021-07-21", week: "星期三" },
        { date: "2021-07-22", week: "星期四" },
        { date: "2021-07-23", week: "星期五" }
    ]
    
    // 方法一:filter + every
    list = list.filter(item => {
        return setList.every(item2 => {
            return item.date != item2.date;
        })
    });
    
    // 方法二:双重for循环,不过要倒序
    for (let i = list.length - 1; i >= 0; i--) {
        for (let j = 0; j < setList.length; j++) {
            if (list[i].date == setList[j].date) {
                list.splice(i, 1);
            }
        }
    }

    3、结果

    4、一个数组中筛选出另一个数组中存在的值

    let saveData = this.tableList.filter(item => {
        return this.checkList.find(item2 => {
            return item2.sceneUuid === item.sceneUuid;
        })
    });

    展开全文
  • JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环来一步一步的比较,然后删除,那样不仅代码量很多,而且性能也很不好.在JavaScript...
  • 主要给大家介绍了关于js删除对象/数组中null、undefined、空对象及空数组的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编起来看看吧
  • js对象数组

    2021-12-08 16:24:34
    1. 创建数组的两种方式 ... //创建一个数组 //var arr1 = new Array(2); //数组的长度 2 var arr1 = new Array(2,3); //等价于[2,3] 表示2个数组元素 console.log(arr1); 2 . 检测是否为数组 //1. instanceof 运算符

    1. 创建数组的两种方式

    //1. 利用数组字面量
    var arr = [1,2,3];
    console.log(arr[0]);
    //2. 利用new Array()
    //var arr1 = new Array(); //创建一个空数组
    //var arr1 = new Array(2); //数组的长度 2
    var arr1 = new Array(2,3); //等价于[2,3] 表示2个数组元素
    console.log(arr1);
    

    2 . 检测是否为数组

    //1. instanceof 运算符
    var arr = [];
    var obj = {};
    console.log(arr instanceof Array);  //true
    console.log(obj instanceof Array); //false
    //2. Array.isArray(参数); html5新增 ie9以上版本支持
    console.log(Array.isArray(arr));
    console.log(Array.isArray(obj));
    

    3. 添加删除数组元素的方法

    方法名说明
    push(参数1…)末尾添加一个或多个元素,注意修改原数组 并返回新的长度
    pop()删除数组最后一个元素,把数组长度减1 无参数、修改原数组 并返回它删除的元素的值
    unshift(参数1…)向数组的开头添加一个或更多元素,注意修改原数组 并返回新的长度
    shift()删除数组的第一个元素,数组长度的第一个元素,数组长度减1 无参数、修改原数组 并返回第一个元素的值
    //1.push()
    var arr = [1,2,3];
    //arr.push(4,'fg');
    console.log(arr.push(4,'fg'));
    console.log(arr);
    //(1) push是可以给数组追加新的元素
    //(2) push() 参数直接写数组元素就可以了
    //(3) push完毕之后,返回的结果是新数组的长度
    //(4) 原数组也会发生变化
    //2. unshift
    console.log(arr.unshift('red','blue'));
    console.log(arr);
    //(1) unshift是可以给数组前面追加新的元素
    //(2) unshift() 参数直接写数组元素就可以了
    //(3) unshift完毕之后,返回的结果是新数组的长度
    //(4)原数组也会发生变化
    //3. pop()
    console.log(arr.pop());
    console.log(arr);
    //(1) pop是可以删除数组的最后一个元素 一次只能删除一个元素
    //(2) pop() 没有参数
    //(3) pop完毕之后,返回的结果是删除的那个元素
    //(4)原数组也会发生变化
    //4. shift()
    console.log(arr.shift());
    console.log(arr);
    //(1) shift是可以删除数组的第一个元素 一次只能删除一个元素
    //(2) shift() 没有参数
    //(3) shift完毕之后,返回的结果是删除的那个元素
    //(4)原数组也会发生变化
    

    在这里插入图片描述

    //筛选数组
    var arr = [1500,1200,2000,2100,1800];
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
         if (arr[i] < 2000) {
             //newArr[newArr.length] = arr[i];
             newArr.push(arr[i]);
         }
    }
    console.log(newArr);
    

    4. 数组排序

    方法名说明
    reverse()颠倒数组中元素的顺序,无参数 该方法会改变原来的数组 返回新数组
    sort()对数组的元素进行排序 该方法会改变原来的数组 返回新数组
    //1.反转数组
    var arr = ['pink','red','blue'];
    arr.reverse();
    console.log(arr);
    //2. 数组排序
    var arr1 = [13,4,77,1,7];
    arr1.sort(function(a,b) {
        //  return a - b;  //升序的顺序排列
        return b - a;  //降序的顺序排列
    });
    console.log(arr1);
    

    5. 数组索引方法

    方法名说明
    indexOf()数组查找给定元素的第一个索引 如果存在返回索引号 如果不存在,则返回-1
    lastIndexOf()在数组中的最后一个的索引 如果存在返回索引号 如果不存在,则返回-1
    var arr = ['red','green','blue'];
    console.log(arr.indexOf('blue')); //2
    var arr = ['red','green','blue','pink','blue'];
    console.log(arr.lastIndexOf('blue')); //4
    
    //数组去重
    function unique(arr) {
        var newArr = [];
        for (var i = 0;i < arr.length;i++) {
             if (newArr.indexOf(arr[i]) === -1) {
                 newArr.push(arr[i]);
             }
        }
        return newArr;
    }
    //var demo = unique(['c','a','z','a','x','x','c','b']);
    var demo = unique(['blue','green','blue'];
    console.log(demo);
    

    6. 数组转换为字符串

    方法名说明
    toString()把数组转换成字符串,逗号分隔每一项 返回一个字符串
    join(‘分隔符’)方法用于把数组中的所有元素转换为一个字符串 返回一个字符串
    concat()连接两个或多个数组,不影响原数组 返回一个新数组
    slice()数组截取slice(begin,end) 返回被截取项目的新数组
    splice()数组删除splice(第几个开始,要删除个数) 返回被删除项目的新数组,会影响原数组
    //1. toString() 将我们的数组转换为字符串
    var arr = [1,2,3];
    console.log(arr.toString()); //1,2,3
    //2. join('分隔符')
    var arr1 = ['green','blue','pink'];
    console.log(arr1.join()); //green,blue,pink
    console.log(arr1.join('-')); //green-blue-pink
    console.log(arr1.join(' ')); //green blue pink
    //3. concat()
    var arr1 = ['green', 'blue', 'pink'];
    var arr2 = ['1', '2', '3'];
    console.log(arr1.concat(arr2)); //['green', 'blue', 'pink', '1', '2', '3']
    //4. slice()
    var arr1 = ['green', 'blue', 'pink', 'black'];
    console.log(arr1.slice(1)); //['blue', 'pink', 'black']
    console.log(arr1.slice(1, 3)); // ['blue', 'pink']
    console.log(arr1.slice(-2)); // ['pink', 'black']
    console.log(arr1.slice(1, -1)); //['blue', 'pink']
    //5. splice()
    var arr1 = ['green', 'blue', 'pink', 'black'];
    arr1.splice(1, 0, 'yellow');
    console.log(arr1); //['green', 'yellow', 'blue', 'pink', 'black']
    arr1.splice(4, 1, 'white');
    console.log(arr1); //['green', 'yellow', 'blue', 'pink', 'white']
    
    展开全文
  • 本文实例总结了JavaScript数组Array对象增加和删除元素方法。分享给大家供大家参考。具体分析如下: pop 方法 移除数组中的最后一个元素并返回该元素。 arrayObj.pop( ) 必选的 arrayObj 引用是一个 Array 对象。 ...
  • 由于日常工作中经常需要对数组进行操作,最经常使用到的就是对数组进行的删除操作 对于我们前端来说,数组有两种区别 1、var arr = [ 'aaa' , 'bbb' , 'ccc' ,' ddd' , 'eee' ] 这种暂且称之为纯数组 2、var ...

    由于日常工作中经常需要对数组进行操作,最经常使用到的就是对数组进行的删除操作

    对于我们前端来说,数组有两种区别

    1、var arr = [ 'aaa' , 'bbb' , 'ccc' , ' ddd' , 'eee' ]  这种暂且称之为纯数组

    2、var jsonArr =  [ { name: 'cz' , age: '25'} , { name: 'mp' , age: '18'} , { name:'lyy' , age: '18' } ] 这种暂且称之为对象数组

    首先,我们要删除数组中的某一项,我们一定要知道下边三种条件中的其中一种,才能达到精确删除的目的

    1、知道要删除项在数组中的下标

    2、知道要删除项的值

    3、如果要删除项是一个对象,而且我们知道这个对象中的唯一属性值

    //1、知道要删除项的下标值
    //index为删除项的下标值  arr为源数组
    var arrRemoveIndex = function(index,arr) {
        if (!arr || arr.length == 0) {
            return ""
        }
        arr.splice(index,1)
        return arr
    }
    
    //2、知道要删除项的值
    //it 为要删除项的值  arr为源数组
    var arrRemove = function (it, arr) {
        if (!arr || arr.length == 0) {
            return ""
        }
        let flag = arr.indexOf(it)
        if (flag > -1) {
            arr.splice(flag, 1)
            return arr
        } else {
            console.log("未查找到该元素")
        }
    }
    
    //3、如果要删除项为对象,我们需要知道该对象属性中的唯一值(不会重复的值)
    //arr是源数组,attr是目标数组中的属性名称,value是要删除的属性名称对应的值
    var arrRemoveJson = function (arr, attr, value) {
      if (!arr || arr.length == 0) {
        return ""
      }
      let newArr = arr.filter(function (item, index) {
        return item[attr] != value
      })
      return newArr
    }
    
    let arr = ['aaa','bbb','ccc','ddd']
    let arrJson = [{ id: 1 , name: 'cz'},{ id: 2 , name: 'mp'},{ id: 3 , name: 'xp'}];
    let newArr1 = arrRemoveIndex(1,arr);  // ['aaa','ccc','ddd']
    let newArr2 = arrRemove('bbb',arr);   // ['aaa','ccc','ddd']
    let newArr3 = arrRemoveJson(arr,'id','2') //[{id:1,name:'cz'},{id:3,name:'xp'}]
    
    

    以上可以放到工具类,方便反复调用。

    展开全文
  • 主要介绍了JavaScript数组,JSON对象实现动态添加、修改、删除功能,结合实例形式分析了JavaScript针对json数组的添加、删除、修改操作实现技巧,需要的朋友可以参考下
  • 后端传过来的一个对象 {1,2,3,4},{1,3,5,},{1,3,5} (此图片来源于网络,如有侵权,请联系删除! )   我们应该转化为数组对象 [{},{},{},{}] ,最后通过wx:for遍历到页面 (此图片来源于网络,如有侵权,请联系删除...
  • js删除数组中的指定对象

    千次阅读 2022-06-14 10:32:08
    js删除数组中的指定对象
  • 将一下代码放在全局js文件中: Js代码 代码如下: /** *删除数组指定下标或指定对象 */ Array.prototype.remove=function(obj){ for(var i =0;i <this.length;i++){ var temp = this[i]; if(!isNaN(obj)){ temp=i;...
  • js个数组对象去重,删除个数组中相同的对象删除数组对象中某个对象
  • js对象数组重复值,值保留一个
  • js 对象数组去重

    2022-07-08 17:14:21
    js 对象数组去重
  • pop() 方法用于删除并返回数组的最后一个元素,注意这里在获取了数组的最后一个元素的同时也将原数组的最后一个元素给删除了。如果数组已经为空,则该方法不改变数组,并返回 undefined 值,如: [removed] var ...
  • 对象数组A删除对象数组B同样值的数据
  • js 对象 数组 删除

    2016-07-23 11:18:15
    对象删除:可以直接用delete进行删除,也可以将其赋值为undefined; 例如: var goods_info={ "000":{barcode:"000", type: '饮料', name: '可口可乐', price: '3', unit: '瓶'}, "...
  • 在项目中,需要过滤数组中使用过的数据,开始是想通过遍历的方式来实现,但是在过程中,发现效果不佳,代码量也比较多,就上网搜大家是怎么实现的,发现使用js数组的方法:filter,every就能很简单的解决该问题。...
  • 数组的splice方法 const list = [ { 辅料: 12, id: -1 }, { 苹果: 12, id: -1 }, { 香蕉: 12, id: -1 }, { 梨子: 12, id: 1 }, { 柑橘: 12, id: -1 }, ]; for (var i = 0; i < list.length; i++) { if ...
  • 上面博客当条件不满足时也会删除index为0的数据,在上面博客的基础上优化下 function removeByValue(arr, attr, value){ let index = NaN; for(var i in arr){ if(arr[i][attr]==value){ index=i; break; .
  • 有时候,我们需要根据 某属性与属性值 找到数组对象中对应的该项。 例如,现有如下结构数组对象: // Array Object const arr = [ { name: '王佳斌', age: '20' }, { name: '孙玉红', age: '15' } ] 现在,...
  • 删除数组中元素的方法有delete,splice;这里先记录splice function bantchDelete (taskList,deleteTaskIds){ for (let i=0; i<taskList.length;){ let task = taskList[i]; //根据id删除 if (deleteTaskIds....
  • 嵌套的复杂数组对象删除深层嵌套后返回新数组。 如:var data = [ { id: '1', name: 'www' }, { id: '2', name: 'qqq' }, { id: '3', name: 'eee', children: [ { id: '4', name: ...
  • 绕了大圈 array: [ { tags: "沙发", count: "2" }, { tags: "椅子", count: "5" }, { tags: "床单", count: "1" }, { tags: "床垫", count: "1" }, { tags: "衣柜", count: "1" }, { tags...
  • 一个表格,类似于下图,选中以后,做成纯前端批量删除 数据源 arr2是全部的数据,arr1是勾选的数据 let arr1 = [ { code: "123456781",color: "芭比粉"}, { code: "123456783",...
  • JS数组对象

    千次阅读 2022-01-23 19:50:11
    数组(Array),数组也是一个对象,它和普通对象功能类似,也是用来存储一些值的,不同的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引操作元素 索引:从零开始的整数就是索引;数组的存储性能...
  • js对象数组的操作

    2022-03-09 14:01:43
    js删除数组对象属性值重复的元素

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 190,088
精华内容 76,035
关键字:

对象数组删除一个对象js