selection.filter - 要素を絞り込む

投稿日: / 更新日:

d3.jsのselection.filter()は、d3.selectionオブジェクトの中から、フィルターに指定した条件に一致する要素だけに絞り込むメソッドです。

サンプルコード

<ul>
	<li>1つ目のLI</li>
	<li>2つ目のLI</li>
	<li>3つ目のLI</li>
	<li>4つ目のLI</li>
	<li>5つ目のLI</li>
</ul>
// li要素を選択
var selection = d3.selectAll( "li" ) ;

// [:nth-child(even)]に一致する要素だけに絞り込む
var filterSelection = selection.filter( ":nth-child(even)" ) ;

// データを適当に関連付ける
var dataSelection = selection.data( [ 1, 0, 1, 0, 1 ] ) ;

// [1]のデータを持つ要素だけに絞り込む
var filterSelection = dataSelection.filter( function( d, i ) { return d === 1 ; } ) ;

デモ

構文

selection = selection.filter( string || function )
引数
項目説明
string引数をCSSのセレクタで指定すると、そのセレクタの条件に一致する要素のみに絞り込まれる。
function引数を、第1引数がデータ、第2引数がインデックス番号の関数で指定する。関数の戻り値がtrueの要素のみに絞り込まれる。
戻り値
項目説明
selectionフィルターにより絞り込まれた要素だけで構成された新たなd3.selectionオブジェクトが戻り値となる。