私は d3 を使用しており、selection.each() 呼び出しによって実行される関数のスコープにいくつかの変数を渡したいと考えています。私は変数e
を宣言しD
、外部関数内で、次にその関数内で、変数を宣言した後、クラスのすべてに対して無名関数を実行しています.points
。私の問題は、内部関数をグローバル変数にしないと、内部関数のスコープにD
入ることができないように見えることです。e
これらを内部関数に渡す簡単な方法はありますか?
function endSelection(d){
var e = selector.extent();
var D = d;
mainSVG.selectAll(".points")
.each(function(d){
if(d[D.x] >= e[0][0]){
d3.select(this).call(addClass,["foo"])
d3.select(this).call(removeClass,["bar"])
} else {
d3.select(this).call(addClass,["bar"])
d3.select(this).call(removeClass,["foo"])
};
});
}