JavaScript中定义的.data(xx.map(function(d))...)的概念在哪里?

时间:2014-04-17 01:50:06

标签: javascript d3.js

很抱歉这个模糊的标题(稍后我会更新,我也会更新标签)。在我试图理解的一些代码中,我发现了以下内容:

var map = svg.append("svg")
.attr({x: 10,
       y: 10)
.selectAll("path")
.data(cl.map(function(d) { // ????
        return d3.range(d.x.length).map(function(i) {
    return {x: d.x[i], y: d.y[i]};});}))
.enter().append("svg:path")
.attr("d", lineMap)
.style("fill", "none")
.style("stroke", "darkgreen")
    .style("stroke-width", 1);

cl是一组轮廓线数据,作为路径连接起来。我的问题是我标记的部分????。我理解这是一般性的,甚至细节。由于我对这些内容不熟悉,我想知道.data.map想法在哪里被记录,以及它们属于哪种语言(JavaScript?JSON?)。我环顾四周,搜索'地图数据'时找到答案有点困难!此外,在大多数JavaScript函数中似乎都是必需名称吗?或者只是定制?

1 个答案:

答案 0 :(得分:0)

以下是一些指示:

.map是一个javascript数组函数(注意d3.arrays也有一个map函数),它返回一个新数组,其结果是为原始数组中的每个元素调用回调函数。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

.data是一个d3概念,是将数据集绑定到选择

的方法

http://alignedleft.com/tutorials/d3/binding-data

http://bost.ocks.org/mike/join/

希望这有帮助。