gpt4 book ai didi

javascript - 干燥过滤?

转载 作者:行者123 更新时间:2023-11-30 09:17:46 26 4
gpt4 key购买 nike

list = list.filter(({ field1, field2, field3, field4, field5, field6, field7}) => {
let found = false;

if (field1.includes(this.state.filterString) ||
field2.includes(this.state.filterString) ||
field3.includes(this.state.filterString) ||
field4.includes(this.state.filterString) ||
field5.includes(this.state.filterString) ||
field6.includes(this.state.filterString) ||
field7.includes(this.state.filterString) ||
) {
found = true;
}
return found
});

上面的代码看起来很重复,我想知道是否可以使其更简洁或者不违反 DRY 原则?

最佳答案

使用属性数组后跟一个 .some 测试:

const itemProperties = ['field1', 'field2', 'field3', 'field4', 'field5', 'field6', 'field7'];
const { filterString } = this.state;
const filteredList = list.filter(
item => itemProperties.some(prop => item[prop].includes(filterString))
);

关于javascript - 干燥过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53908758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com