array.filter( callback, thisObject )メソッドは、配列の各要素に、引数「callback」に指定したフィルタリング用のコールバック関数を実行し、フィルタリングを通過した配列要素を格納した新たな配列を生成するメソッド。コールバック関数内でthisキーワードが参照するオブジェクトを、引数「thisObject」に指定できる。
構文
array.filter( callback, thisObject )
引数
- callback
- フィルタリングに使用するコールバック関数を指定する。
- thisObject
- コールバック関数内で、thisキーワードが参照するオブジェクトを指定できる。
- 省略可能。詳しくは、array.filter( callback )へ。
戻り値
フィルタリングを通過した配列要素を格納した新たな配列。
コールバック関数の構文
function callback( value, index, array ) {
// フィルタリングを通過させる場合、「true」を返す
// フィルタリングを通過させない場合、「false」を返す
}
// フィルタリングを通過させる場合、「true」を返す
// フィルタリングを通過させない場合、「false」を返す
}
引数
- value
- 現在の配列要素の値。
- index
- 現在の配列要素のインデックス。
- array
- 現在の要素を格納している配列オブジェクト。
サンプル
<script type="text/javascript">
function sampleFunc( $value ) {
if ( $value <= this.minimum ) {
return ( false );
} else if ( $value >= this.maximum ) {
return ( false );
} else {
return ( true );
}
}
var $sampleArray = new Array( 43, 14, 55, 89, 31 );
var $criteria = { minimum: 30, maximum: 70 };
var $sampleArrayFilter = $sampleArray.filter( sampleFunc, $criteria );
document.write( $sampleArrayFilter + '<br />' );
</script>
function sampleFunc( $value ) {
if ( $value <= this.minimum ) {
return ( false );
} else if ( $value >= this.maximum ) {
return ( false );
} else {
return ( true );
}
}
var $sampleArray = new Array( 43, 14, 55, 89, 31 );
var $criteria = { minimum: 30, maximum: 70 };
var $sampleArrayFilter = $sampleArray.filter( sampleFunc, $criteria );
document.write( $sampleArrayFilter + '<br />' );
</script>
↓↓↓出力結果↓↓↓