我有函数式编程的背景,原则上理解递归,但我似乎无法将这些知识转化为D3.js环境。
我在下面有一个 hello world 脚本,它试图简单地打印嵌套数据结构的内容。按照对其他线程的建议,我可以使用它.filter
来仅返回节点,但是如何继续这个示例以递归地打印嵌套项?
<!DOCYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="d3.v3.js"></script>
<script>
function draw(data)
{
"use strict";
d3.select("body")
.selectAll("p")
.data(data)
.enter()
.append("p")
.text(function(d) {
if (d instanceof Array) {
return "WHAT DO I PUT HERE?";
}
else {
return d;
};
});
}
</script>
</head>
<body>
Hello world
<script>
draw([1, [2, [1, 2, 3, 4] ], 3, 4, 5]);
</script>
</body>
</html>