d3中身份函数的简写是什么("function(d){return d;}")?

Luk*_*kas 6 javascript d3.js

通过d3文档,我看到这个代码(身份函数)到处重复:

function(d) { return d; }
Run Code Online (Sandbox Code Playgroud)

在d3中是否有内置方式来执行此操作?我知道我可以创建自己的无操作身份功能并在任何地方使用它,但似乎d3应该提供这个.

enj*_*lot 3

我曾经看到 Mike 做 .data(Object) ,这似乎有效

http://tributary.io/inlet/5842519

但我不知道为什么我再也看不到它了

var svg = d3.select("svg")

var data = [[10,20],[30,40]];
svg.selectAll("g")
.data(data)
.enter()
.append("g")
.attr("transform", function(d,i) { return "translate(" + [i * 100, 0] + ")"})
.selectAll("circle")
//.data(function(d) { console.log(d); return d })
.data(Object)
.enter()
.append("circle")
.attr({
  cx: function(d,i) { return 100 + i * 40 },
  cy: 100,
  r: function(d,i) { return d }
})
Run Code Online (Sandbox Code Playgroud)

  • 我发现上述内容的一个限制是,虽然“Object(3)”在大多数情况下的行为与“3”类似,但它没有通过“===”测试。 (2认同)