2012-04-17 13 views
0

データ配列内の特定のパラメータ値を持つ要素を選択したいとします。特定の種類のデータをフィルタリング/選択する

例:

だから、
[{type: "suv", value:10},{type: "suv", value:20},{type: "berline", value:15},{type: "berline", value:5}] 

、どのように私は私の値のデータをプロットするときtype:"suv"を考慮しなければならないでしょうか?私は見つけることができる

だけ同じようなことは、selectAllですが、それだけでUIの要素を選択しているようだ(?)

ベア私と一緒に、これは単純であるならば、私はあまりにもd3.jsに慣れていません、被験者に関する情報はまれである。

答えて

5

あなたがd3.selectAll(...).data(...)...を使用する前にデータをフィルタしようとしている場合は、この使用:

var myArr = [{type: "suv", value:10},{type: "suv", value:20},{type: "berline", value:15},{type: "berline", value:5}]; 
var myFilteredArr = myArr.filter(function(d) { return d.type == "suv"; }); 

あなたの代わりに、既に表示される内容変更しようとしていますか?

+0

、私はOPがしたい疑いますd3.jsを使用する – RobG

0

あなたは、フィルタに一致することの唯一の要素を持つこの返す新しい配列のような独自のフィルタ機能を持つ配列をループすることができます:のみES5のenvionmentsで

var filterArray(arr, key, value) { 
    var result = [], item; 
    for (var i = 0; i < arr.length; i++) { 
     item = arr[i]; 
     if (item[key] && item[key] === value) { 
      result.push(item); 
     } 
    } 
    return(result); 
} 

var myArr = [{type: "suv", value:10},{type: "suv", value:20},{type: "berline", value:15},{type: "berline", value:5}]; 
var filteredArr = filterArray(myArr, "type", "suv"); 
関連する問題