D3.js~如何过滤包含某些值/单词的数据值?

时间:2013-11-25 17:22:56

标签: javascript d3.js

过滤可视化的数据我注意到没有传递一些与过滤器中包含的值不完全对应的值。 我想要做的是过滤我的数据集中包含该单词的所有值,现在我有:

stile.filter(function (d) { return d.StyleName == "Bold" || d.StyleName == "Demi" || d.StyleName == "Semibold"; });

我认为在我想要过滤的每个值的末尾添加.contains()可以做到这一点,如下所示:

stile.filter(function (d) { return d.StyleName.contains("Black") || d.StyleName.contains("Heavy") || d.StyleName.contains("Extrabold") || d.StyleName.contains("BoldNonextended"); })

但遗憾的是,这并没有奏效。一如既往的任何帮助都非常感谢,谢谢!

编辑:我的数据集是一个csv,StyleName列有不可变的值,如: Bold, Bold Extended, Regular等等。如果我使用现在的过滤器功能,则不会返回包含Bold Extendend的数据行,因为它中还包含单词Extended。这就是我想要解决的问题

1 个答案:

答案 0 :(得分:4)

而不是contains尝试使用match()和正则表达式:

stile.filter(function (d) { return d.StyleName.match(/Black/) || d.StyleName.match(/Heavy/) || d.StyleName.match(/Extrabold/) || d.StyleName.match(/BoldNonextended/); })