データを除外するためのアルゴリズムを教えてください。
私は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オブジェクト(最初の行)が得られます。2番目のforループ(filters loop)に入ると、現在のフィルターが機能する正確なフィールドを抽出し、データの適切なフィールドでフィルターをチェックするフィルタークラスがあります。
だから私の例では
foreach(data)
{
foreach(filter)
{
//loop one - filter name
// loop two - filter email
// loop three - filter age
}
}
2番目のループが終了すると、データがフィルタリングされているかどうかを示すフラグを設定し、それに応じてデータが表示されます。