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

标签 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 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/

相关文章:

javascript - 如何使用过滤器函数过滤JavaScript中的对象?

javascript - Yii2。 $(document).ready 故障排除

javascript - textarea 是最适合显示/隐藏链接文本的 UI 元素,就像在 Google map 中一样吗?

d3.js - 绘制网格线的正确方法

android - 我可以使用 d3.js 在 android 应用程序中创建交互式可视化吗?

javascript - 如何找到字符串并将其拆分到 node.js 中?

javascript - 使用 Array.forEach 迭代 getElementsByClassName 的结果

javascript - 鼠标悬停在节点文本下划线

javascript - 向 D3.js 图表添加点

javascript - D3 完全删除 'zoom'