过滤可视化数据我注意到一些与过滤器中包含的值不完全对应的值不会被传递。 我想做的是过滤数据集中包含该单词的所有值,现在我有:
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 Extendend
的数据行,因为它也包含单词 Extended
。这就是我要解决的问题
最佳答案
尝试使用 match()
和正则表达式代替 contains
:
stile.filter(function (d) { return d.StyleName.match(/Black/) || d.StyleName.match(/Heavy/) || d.StyleName.match(/Extrabold/) || d.StyleName.match(/BoldNonextended/); })
关于javascript - D3.js ~ 如何过滤包含某些值/单词的数据值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20199278/