【发布时间】:2022-01-04 02:19:05
【问题描述】:
我有一个包含多级对象的数组,例如:
list= [ {
type: { name: 'dog', size:'medium'},
entity: { name: 'Tobby', age: '7'},
},
{
type: { name: 'cat', size:'small'},
entity: { name: 'Garfield', age: '7'},
}
]
我有一个定义的过滤器,例如:
filter={
type: { name:'dog'}}
我需要定义一个可以调用的函数
let filtered = list.thisMagicFilter(filter)
这将在我的列表中进行相应的过滤(在给定的示例中,仅返回第一个元素。
逻辑上,如果过滤器是{entity:{age:'7'}},那么两个结果都应该返回。
我试图用list.filter() 在函数式编程中做到这一点,但它对我来说太复杂了:我正在为它是一个 2 级验证这一事实而苦苦挣扎。
我能得到一些关于如何解决这个问题的提示吗?
提前谢谢你!
【问题讨论】:
标签: javascript filter functional-programming