MecuryJerry 2022-07-07 09:22 采纳率: 75%
浏览 40

JavaScript批量删除数组中元素

最近做demo有个批量删除的操作,就第一想法是过滤,过滤掉A中B存在的元素,
数据格式

A:[ { id:"" , name:"" }, { id:"" , name:"" } ]
B:[ "123", "124" ]  //为A中的id

先抛砖引玉

A = A.filter( item => !B.includes(item.id));

但是想想,感觉数据量大的时候这样操作有点不优雅,于是请大伙给点想法。

  • 写回答

3条回答 默认 最新

  • 泡沫o0 2023年度博客之星上海赛道TOP 1 2022-07-07 09:26
    关注

    方法体内部使用splice方法,在使用for循环或者forEach遍历数组的话,删除数据不全

    方法一 ,用逆向循环

    for (let index = _this.teamIds.length - 1; index >= 0 ; index--) {
           if(_this.teamIds[index].indexOf(val) == '-1'){
              _this.teamIds.splice(index, 1);
           }
    

    方法二,用filter

    var arr = [1, 2, 3, 4, 5];
    arr = arr.filter(item => item == 4);
    console.log(arr);    //数组只留下4
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 7月7日
  • 创建了问题 7月7日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真