根据条件过滤阵列的最佳方法

时间:2020-07-28 16:22:06

标签: javascript arrays reactjs

我正在从API获取数据,我想根据问题状态过滤阵列。以下代码可以正常工作,但是有没有写这个好的方法?

let issuesToUse = this.state.issues;

if(this.state.issueState.status === 'closed'){
  issuesToUse = this.state.issues.filter(issue => {
    return issue.state === 'closed';
  })
} else {
  issuesToUse = this.state.issues.filter(issue => {
    return issue.state === 'open';
  })
}

3 个答案:

答案 0 :(得分:2)

issuesToUse = this.state.issues.filter(issue => issue.state === this.state.issueState.status)

答案 1 :(得分:1)

如果还有其他状态,则需要事先检查该状态以进行过滤。

find . -name 'dir2-*' -exec mkdir {}/dir3-1 \;

答案 2 :(得分:1)

您可以尝试以下示例

let targetState = this.state.issueState.status;
let issuesToUse = this.state.issues.filter(
  ({ state }) => state === targetState
);

请参见

Destructuring assignment