filter _.any()函数不起作用underscore.js

时间:2015-06-22 11:25:52

标签: javascript d3.js filter underscore.js any

我遇到了来自underscore.js的集合函数filter_.any()的问题。 带有filter()的代码部分永远不会执行。我不明白为什么? 我从这个例子http://blog.pixelingene.com/demos/d3_tree_clipPath/中获取了这段代码,并将相同的underscore-min.js库包含在我的项目中,但它没有帮助解决我的问题

有人可以帮我解决这个问题吗?或者可能是另一种方式?感谢

function setupMouseEvents()
{           
    ui.nodeGroup.on('mouseover', function (d, i)
    {
        d3.select(this).select("rect").classed("hover", true);
    })
            .on('mouseout', function (d, i)
            {  
                d3.select(this).select("rect").classed("hover", false);
            })
            .on('click', function (nd, i)
            {
                // Walk parent chain
                var ancestors = [];
                var parent = nd;
                while (!_.isUndefined(parent)) {
                    ancestors.push(parent);
                    parent = parent.parent;
                }
                // Get the matched links
                var matchedLinks = [];
                console.log(ancestors);   
                ui.linkGroup.selectAll('path.link')
                        .filter(function (d, i)
                        {               
                            return _.any(ancestors, function (p)
                            {
                                return p === d.target;
                            });
                        })
                        .each(function (d)
                        {
                            matchedLinks.push(d);
                        });
                        console.log(matchedLinks);
                animateParentChain(matchedLinks);
            });
}

0 个答案:

没有答案