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:很高兴听到这个消息!请将此标记为其他将查看此问题的人接受的答案。