2012-04-17 2 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"); 
관련 문제