我有一个2D数组,我试图对它进行过滤,但它没有经过过滤:

数据:

[
 ["Val #","Val #","Val #","Val #","Val #"],
 ["SO-000379-001A-047-1","SO-000379-001A-047-2","-","-","-"]
]

过滤线:

cads = cads.filter(e => e[1] != "-" || e[1] != '');

预期结果:

[
 ["Val #","Val #"],
 ["SO-000379-001A-047-1","SO-000379-001A-047-2"]
]

我到底错过了什么?

非常感谢.

推荐答案

Description

我相信您正在寻找的是一种基于第二行中的项过滤数组两行的方法.下面是一个如何做到这一点的例子.我稍微更改了您的数据,以显示它正在过滤第1行.

Script

function test() {
  try {
    let data = [ ["Val 1","Val 2","Val 3","Val 4","Val 5"],
                  ["SO-000379-001A-047-1","","SO-000379-001A-047-2","-","-"] ];
    let result = [[],[]];
    data[1].forEach( (item,i) => {
      if( (item != "-") && (item != "") ) {
        result[0].push(data[0][i]);
        result[1].push(data[1][i]);
      }
    });
    console.log(result);
  }
  catch(err) {
    console.log(err);
  }
}

Console.log

8:23:57 AM  Notice  Execution started
8:23:58 AM  Info    [ [ 'Val 1', 'Val 3' ],
  [ 'SO-000379-001A-047-1', 'SO-000379-001A-047-2' ] ]
8:23:57 AM  Notice  Execution completed

Javascript相关问答推荐

模块与独立组件

如何解决chrome—extension代码中的错误,它会实时覆盖google—meet的面部图像?'

Phaser 3 console. log()特定游戏角色的瓷砖属性

仅针对RTK查询中的未经授权的错误取消maxRetries

Chart.js 4.4.2,当悬停在一个数据点上时,如何在工具提示中拥有多个数据点/标签?

实现JS代码更改CSS元素

Chart.js-显示值应该在其中的引用区域

如何通过将实例方法的名称传递给具有正确类型的参数的继承方法来调用实例方法?

在我的index.html页面上找不到我的Java脚本条形图

映射类型定义,其中值对应于键

按下单键和多值

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

在Odoo中如何以编程方式在POS中添加产品

FindByIdAndUpdate在嵌套对象中创建_id

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

带元素数组的Mongo聚合

鼠标进入,每秒将图像大小减小5%

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但GET:Object.在Reaction项目中

此上下文在JavaScript中

我不能将每个产品单独添加或删除到Collection 列表中