【发布时间】:2021-07-31 15:13:09
【问题描述】:
我使用filter方法过滤出一个数组如下:
this.gridOptions.api.setRowData(
this.arrayToFilter.filter(obj => obj.status !== "Declined")
);
上面的代码工作正常,但是当我尝试循环遍历一个表的所有列字段时它不起作用,这是我的代码:
this.gridOptions.api.setRowData(this.arrayToFilter.filter(function(item) {
for(var i = 0; i < columns.length; i++) {
var temp = columns[i].headerName
if(item[temp] === 'Declined')
return false
return true
}
}));
我在循环中做错了什么?
【问题讨论】:
-
if 条件的大括号在哪里?
-
@M.HassanNasir 它只有一行,所以不需要花括号
-
它是否返回错误?或者只是一个错误的过滤值?你能展示你的结果吗?
-
@RyanGarde 没有返回任何错误,整个表值显示正常,过滤错误
-
你想达到什么目的?在您的第一个代码中,您正在比较列名“状态”,这很好,但在第二个代码中,您将所有标题与“拒绝”进行比较,这让我感到困惑,因为有名称或年龄之类的标题(我不知道到底是什么你的标题,我只是在猜测)。您比较除状态之外的其他标题没有意义
标签: javascript typescript ag-grid