Javascript d3查找数据类别的第一个条目

Javascript d3查找数据类别的第一个条目,javascript,d3.js,visualization,Javascript,D3.js,Visualization,我正在制作一张d3图表,我试图做以下几点: 我有不同的类别,我只想在类别标签第一次出现时才显示它(因为我是按类别排序的)。 我试过这个: d.isFirstInstanceOfCategory = (i === 0 || d.Kategorie !== data[i-1].Kategorie); 但这只是检查前面的数据条目是否与当前数据条目相同。然而,我需要检查的是,它是否是所有前面的条目中的第一个。 有人能帮忙吗? 谢谢我还没有足够的声誉发表评论,所以如果需要更多信息,我会更新我的答

我正在制作一张d3图表,我试图做以下几点: 我有不同的类别,我只想在类别标签第一次出现时才显示它(因为我是按类别排序的)。 我试过这个:

    d.isFirstInstanceOfCategory = (i === 0 || d.Kategorie !== data[i-1].Kategorie);
但这只是检查前面的数据条目是否与当前数据条目相同。然而,我需要检查的是,它是否是所有前面的条目中的第一个。 有人能帮忙吗?
谢谢

我还没有足够的声誉发表评论,所以如果需要更多信息,我会更新我的答案。如果它已经排序,那么它不应该是所有前面的条目中的第一个吗。如果未排序,则可以根据类别项目的数量创建另一个数组,并在第一次出现时标记类别

d.isFirstInstanceOfCategory = (i === 0 || d.Kategorie !== data[i-1].Kategorie && d.Kategorie.NotAlreadyFlagged)
下面是一些排序选项,但看起来您已经介绍过了

(一)

(二)

函数渲染(d3Comparator){
if(d3Comparator)data=data.sort(函数(a,b){
返回d3[d3Comparator](a.费用,b.费用);
});
排序上升!
排序下降!
svg.selectAll(".bar")
        .sort(function(a, b) { return x0(a.letter) - x0(b.letter); });
function render(d3Comparator) {
    if(d3Comparator) data = data.sort(function(a, b) {
        return d3[d3Comparator](a.expense, b.expense);
    });
<button onclick="render('ascending')">Sort ascending!</button>
<button onclick="render('descending')">Sort descending!</button>