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

D3.js ~ How to filter data values containing certain values/words?

本文关键字:包含某 单词 数据 过滤 js 何过滤 D3      更新时间:2023-09-26

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

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"); })

但不幸的是,这并没有奏效。我们一如既往地感谢您的帮助,谢谢!

EDIT:我的数据集是csv,StyleName列具有无效值,如:Bold, Bold Extended, Regular等等。如果我使用现在的filter函数,例如,包含Bold Extendend的数据行不会返回,因为它中也有单词Extended。这就是我试图解决的问题

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

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