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オブジェクトが戻り値となる。 |