2013-11-25 101 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

相關問題