2015-01-15 55 views
0

当我有一个数据,其中包含几种数据类型:数据:[a(string),b(number),c(array)] 而我想用d3把这些数据放到一个表中。我使用d3表根据不同的数据类型附加数据

var td=d3.select("tr").selectAll("td").data(data).enter().append("td") 
     .html(function(d){ 
      if(typeof(d)=='number') return ... 
      if(typeof(d)=='number') return ... 
     }) 

但我想告诉数据的类型,然后再将它附加到表中。我该怎么办?根据函数(d),我可以在.html之前执行if条件吗?

回答

0

听起来像是你想先filter your selection设置HTML之前:

var td=d3.select("tr").selectAll("td") 
     .data(data).enter() 
     .append("td") 
     .filter(function(d){ return typeof(d) == 'number'; }) 
     .html(...) 
+0

它似乎使用过滤器只对结果进行筛选。我想用不同类型的细胞做不同的功能。当我使用过滤器时,似乎我无法合并结果。 – Gabriel

+0

明白了,只是在追加后添加过滤器,然后它结合了结果。 – Gabriel