Javascript 过滤干燥?
列表=列表。过滤器{field1,field2,field3,field4,field5,field6,field7}=>{ 让发现=错误; 如果字段1.includeThis.state.filterString|| 字段2.includeThis.state.filterString|| 字段3.includeThis.state.filterString|| 字段4.includeThis.state.filterString|| 字段5.includeThis.state.filterString|| 字段6.includeThis.state.filterString|| 字段7.includeThis.state.filterString|| { 发现=真; } 返回发现Javascript 过滤干燥?,javascript,Javascript,列表=列表。过滤器{field1,field2,field3,field4,field5,field6,field7}=>{ 让发现=错误; 如果字段1.includeThis.state.filterString|| 字段2.includeThis.state.filterString|| 字段3.includeThis.state.filterString|| 字段4.includeThis.state.filterString|| 字段5.includeThis.state.filterS
}; 使用属性数组,后跟。一些测试:
使用属性数组,后跟。一些测试:
如果您正在处理一个要检查每个键上的筛选字符串的对象,也可以使用:
如果您正在处理一个要检查每个键上的筛选字符串的对象,也可以使用:
请解释什么是期望的结果,什么是精确的问题,否则,问题太广泛,可以用简单的“是”来回答。请解释什么是期望的结果,什么是精确的问题,否则,这个问题太宽泛了,可以用一个简单的“是”来回答。是的,但是因为对于我的案例,只需要检查一定数量的字段而不是“是”,但是因为对于我的案例,只需要检查一定数量的字段
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))
);
list.filter(item => Object.values(item).some(prop => prop.includes(filterString)))