你能给我推荐一个过滤数据的算法吗?
我正在使用 javascript 并尝试编写一个过滤器函数来过滤一个数据数组。我有一个数据数组和一个过滤器数组,所以为了对每个数据应用每个过滤器,我编写了 2 个 for 循环
foreach(data)
{
foreach(filter)
{
check data with filter
}
}
这不是正确的代码,但简而言之,我的功能是做什么的,问题是这需要大量时间,有人可以提出更好的方法。
我正在使用 Mootools 库,数据数组是 JSON 数组
数据和过滤器的详细信息
数据是让我们说用户的 JSON 数组,所以它将是
data = [{"name" : "first", "email" : "first@first", "age" : "20"}.
{"name" : "second", "email" : "second@second", "age" : "21"}
{"name" : "third", "email" : "third@third", "age" : "22"}]
过滤器数组基本上是针对不同数据字段的自定义类
alFilter[0] = filterName;
alFilter[1] = filterEmail;
alFilter[2] = filterAge;
因此,当我进入第一个 for 循环时,在上述情况下,我得到了一个 JSON opbject(第一行)。当我进入第二个 for 循环(过滤器循环)时,我有一个过滤器类,它提取当前过滤器将在其上工作的确切字段,并使用数据的适当字段检查过滤器。
所以在我的例子中
foreach(data)
{
foreach(filter)
{
//loop one - filter name
// loop two - filter email
// loop three - filter age
}
}
当第二个循环结束时,我设置一个标志,表示数据是否已被过滤,并根据它显示数据。