所以我正在构建一个过滤系统。我有一组键值对(kvp)对象,我想检查是否已经添加了一个kvp。如果kvp有我要删除它,如果它没有我想将它添加到数组。但是我无法检查深度平等。我不能使用对象而不是数组,因为键可以是相同的(例如{state: TX}
和{state: NE}
)。此代码不检查深度相等,因此它总是推送一个新的kvp。
if kvp in filters
pos = filters.indexOf(kvp)
filters.splice(pos, 1)
else
filters.push(kvp)
我也试过这个,但它也没有检查深度相等(以及指数增长的过滤器)。
if filters.length == 0
filters.push(kvp)
else
for filter in filters
if kvp == filter
pos = filters.indexOf(filter)
filters.splice(pos, 1)
else
filters.push(kvp)
有什么建议吗?