【发布时间】:2020-08-20 14:11:24
【问题描述】:
我正在尝试解决我必须将多个过滤器应用于对象数组的问题。假设我有一个更大的对象数组,其中包含配置属性,它又是一个对象。另一方面,我有小对象,这些对象是用户选择过滤的对象(基于复选框)。我想通过选择多个值来比较与父对象数组制作的对象。
因此,在图像中,用户选择多个值(使用复选框)并基于此过滤主对象数组。因此,在选中复选框后,我得到 childObject 并且我必须在此基础上过滤 parentArray .....请帮助我:
childobject =
{'Bathroom': '[2,1]',
'Bedroom': '[3,2]',
'halfBathroom':'0',
'name':'[2BD-2BA,2BD-2BA-1]'}
parentArray = [
0:{},
1:{},
2:{
'property1':'____',
'property2':'_____',
'configuration':'{
bathroom: 2
bedroom: 2
created_at: "2019-03-08 20:52:52"
created_by: 264
half_bathroom: 1
id: 26
is_selected: 0
name: "2BD-2BA-1/2BA"
name_en: "2BD-2BA-1/2BA"
name_es: "2RE-2BA-1/2BA"
status: 1
updated_at: "2019-08-23 05:39:44"
}'
}
3: {},
4:{}
]
【问题讨论】:
-
你的 childArray 不是一个正确的数组,它甚至是任何对象(因为双属性名称):
-
过滤条件是什么?所有这些都必须被填满,或者只有一些。只有具有精确属性值的对象(例如卧室==2)?给我们一个结果,它应该是什么样子。
-
是的,无论我们选择什么,我们都必须过滤所有这些。我无法编写带有多个过滤器的代码。
-
@Deepak007 您的代码包含错误 childArray && parentArray 不是对象或数组。您是否混合了括号并且想使用
{}而不是[]来包装 childArray && parentArray 的内容? -
@Deepak007
parentArray应该看起来像parentArray = [{}, {}, {}]吗?
标签: javascript arrays filter