2013-11-25 63 views
0

为可视化过滤数据我注意到一些不完全对应于过滤器中包含的值的值未通过。 什么,我想要做的就是在我的数据集含有该词来过滤所有的值,现在我有: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已列有vairous值,比如: Bold, Bold Extended, Regular等。如果我使用我现在使用的过滤器函数,则例如包含Bold Extendend的数据行不会被返回,因为它也包含字Extended。这就是我试图解决

+0

你可以张贴一些示例数据和预期输出你的问题? – mdml

+0

在编辑中加入,现在应该更清楚了 – tomtomtom

回答

4

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

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

谢谢了!看起来像我不得不再次看正则表达式:) – tomtomtom

相关问题