複合キー機能を使用してデータを結合することはできますか?私は、2人の従業員のランクを交換し、出口選択とエントリー選択の両方に含めることで結果を再結合するように、名前とランクのコンポジットを使用してランク付けされた従業員オブジェクトに参加したいと思います。私が試した: 最初の質問についてはD3複合キー機能
var myData = [{"Rank":1,"Team Member":"John Smag","Ships":48},{"Rank":2,"Team Member":"Leslie Kwarki","Ships":46},{"Rank":3,"Team Member":"Jasmine Doublet","Ships":32}];
function log(selection, action) {
console.log(action, selection[0].length);
}
function join() {
var selection = d3.select('body').selectAll('p').data(myData, function(d) {
\t return d['Team Member'] + d['Rank'];
});
selection.each(function(d) {
console.log('updating', d);
});
selection.enter().append('p').text(function(d) {
return d['Ships'];
}).each(function(d) {
console.log('entering', d);
});
selection.exit().remove().each(function(d) {
console.log('exiting', d);
});
}
join();
var temp = myData[1]['Rank'];
myData[1]['Rank'] = myData[2]['Rank'];
myData[2]['Rank'] = temp;
join();
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
前に存在しなかった 'join()'への2回目の呼び出しに2つのユニークなキーがあるので、更新の選択は間違っています。 –