svg:g
を介して既にバインドされているデータセットがあります。d.id
var categorized = g1.selectAll("g.node")
.data(dataset, function(d){return d.id})
.classed('filtered', false);
categorized.enter()
.append("g")
.attr("class", "node")
...
関数を使用して、次のようなデータ値から注文します。
var sorted = dataset
.filter(function(d) { return d.notation[3].value >=50 } )
.sort(function(a, b) { return d3.descending(a.notation[3].value,
b.notation[3].value) });
console.log
それは正しい順序を返します
var filtered = g1.selectAll("g.node")
.data(sorted, function(d) {return d.id})
.classed('filtered', true);
それでも正しい順序ですconsole.log
が、遅延を適用すると結果の順序が逆になります
scored.transition()
.delay(500).duration(1000)
.attr("id", function(d) {
console.log(d.id);
});
しかし、遅延を取り除くと、うまくソートされたままになります。
私の質問:私は何か悪いことをしていますか?