Javascript d3-表,显示字符串中的每个字符以一个单独的“结束”;运输署";
我正在构建一个单列表。代码如下:Javascript d3-表,显示字符串中的每个字符以一个单独的“结束”;运输署";,javascript,d3.js,Javascript,D3.js,我正在构建一个单列表。代码如下: var report = [ Jan 2016, report1, March2016, report2, June 2017, report3 ]; var rtable = d3.select('body') .append('table'); var trows = rtable.selectAll('tr') .data(report) .enter() .append('tr'); var tcell = trows.selectAll('td'
var report = [ Jan 2016, report1, March2016, report2, June 2017, report3 ];
var rtable = d3.select('body')
.append('table');
var trows = rtable.selectAll('tr')
.data(report)
.enter()
.append('tr');
var tcell = trows.selectAll('td')
.data( function(row) {
return row; // ToDo - more data manipulation
})
.enter()
.append('td')
.html( function(d) {
return d;
});
我的问题是:我不希望每个字符都在一个单独的“td”中,而是希望整个字符串都在一个“td”中
一些类似于这个的东西
当我使用d.join作为
.html( function(d) {
return d.join(", ");
});
我得到一个“uncaughttypeerror:d.join不是函数”
我缺少的是什么,非常感谢您的帮助。您不需要嵌套数据连接来获得想要的效果。相反,您可以将
td
附加到第一个数据联接的tr
var report = [ "Jan 2016", "report1", "March2016", "report2", "June 2017", "report3" ];
var rtable = d3.select('body')
.append('table');
var trows = rtable.selectAll('tr')
.data(report)
.enter()
.append('tr')
.append('td') // new code here
.html((d) => d);
在.html()
中执行函数(d){return d}
或(d)=>d
时,现在将返回整个字符串,而不是每个字符
至于为什么
.join()
不起作用,String没有这个方法。链接的示例使用嵌套数组。在数据连接期间,每个数据点都是一个数组,它将具有.join()
方法。@laks:很高兴听到这个消息!请将此标记为其他将查看此问题的人接受的答案。