210403.Today I学習(TIL):フィルタリングアルゴリズムの復習


filterメソッドは、指定された関数をテストするすべての要素を新しい配列に収集します.このfilter法は,テストを実行するためにパラメータとしてコールバック関数を受け入れる.filterメソッドがどのアルゴリズムを使用して機能を実行するかを問題にしてみましょう.
質問:関数と配列を入力し、関数を配列内の各要素に適用する場合は、真の要素のみを含む新しい配列を返す必要があります.
入力:
パラメータ1 func:numberタイプはブールタイプの関数を返します.
パラメータ2 arr:numberタイプは要素の配列、arr[i]は0より大きい整数
出力:アレイに戻る
まず、filterメソッドは、テストされた要素を新しい配列に戻すため、テストされた要素を収容するために新しい空の配列が必要です.したがって、次のように空の配列として宣言されます.
function filterCallback(func, arr) {
const newArr = [];
}
次に、入力した配列を繰り返し文にループし、テスト関数に適用された要素がtrue値を返すかどうかに基づいて、宣言された新しい配列に挿入します.
function filterCallback(func, arr) {
const newArr = [];
	for(let i = 0; i < arr.length; i++) {
    	if(func(arr[i]) === true) {
        	newArr.push(arr[i]);
            }
          }
          return newArr;
       }  
ここでfunc(arr[i])とは、入力されたテスト関数において、入力配列の要素をパラメータとして実行した結果値を指す.この結果値がtrueの場合、テストに合格した要素になるため、戻る新しい配列に追加します.
これらのアルゴリズムによりfilterメソッドの機能が理解できる.フィルタ法が何をするのかという問題に対して,このアルゴリズムを用いて議論することは,後でフィルタ法を用いるのに役立つ.