javascript - 如何修改复杂的过滤器对象(用于搜索数组)
问题描述
我想用多个匹配条件过滤我的对象数组。我有一个例子,但不知道如何修改复杂对象进行过滤。这里的结构例如:
const filters = {
size: size => size === 50 || size === 70,
color: color => ['blue', 'black'].includes(color.toLowerCase()),
locations: locations => locations.find(x => ['JAPAN', 'USA'].includes(x.toUpperCase())),
details: details => details.length < 30 && details.width >= 70,
};
在我的项目中,我想动态编辑这些值,但我需要为此提供文档或建议。
修改简单的对象很容易,例如
const filters = {
color: ['BLUE', 'black'],
size: [70, 50],
};
这很容易用简单的命令修改(如果选择“蓝色”,添加“蓝色”)但是对于第一个代码我找不到基本的方式/文档
解决方案
推荐阅读
- javascript - 为什么在 JavaScript for Loop 中声明 vs 不声明变量的行为不同?
- c# - 如果数据类型很长,如何检查属性的流利验证
- regex - 在匹配正则表达式中的确切单词时避免出现在字符串前后的特殊字符
- python - 如何以编程方式创建基于 django-imagekit 的内容实例?
- python - 烧瓶 WTForms 并使用 for 循环生成字段
- ios - 如何使用 Alamofire 的 RequestAdapter 将 firebase ID 令牌设置为全局标头?
- reactjs - 如何将 socket.on 方法绑定到 React 功能组件
- php - Laravel 路由映射问题:无法将 url 映射到控制器方法
- nservicebus - NServiceBus 偶尔会重播旧消息
- python - 如何为自定义构建 python 安装头文件?