0
在數據文件中遇到字符串中的空字符,這會在IE中導致問題。一個codepen在這裏;刪除,忽略或阻止IE中字符串中的空字符
http://codepen.io/gradualstudent/pen/DBExf
我能夠在Windows的Chrome,火狐,Safari在Mac和Chrome和Firefox數據文件解析日期,但不是在IE(9,10,11)。數據文件是一個簡單的CSV讀入d3.csv(...)
一個這樣的字符串的例子表面上是"4/23/2014"
。但它無法解析在IE中的日期:
JSON.stringify(dt); // "4/23/2014"
new Date(dt); // [date] Invalid Date
Date.parse(dt); // NaN
儘管這是一個事實,即一個字符串字面解析罰款:
new Date("4/23/2014") // [date] Wed Apr 23 2014 00:00:00 GMT-0400
事實證明,在數據文件中的字符串有很多空的字符:
var dta = [];
for (var i=0; i<dt.length; i++) { dta[i] = dt.charAt(i); }
JSON.stringify(dta);
["", "4", "", "/", "", "2", "3", "", "/", "", "2", "0", "1", "4", ""]
如何去除這些字符或防止它們被讀入?
嘗試'dt.split( 「」)。過濾器(布爾)。加入( 「」)'。您需要在舊ID中填充'.filter()'方法。 – 2014-10-29 02:19:13
看起來像是一些時髦的角色。試試這個'dt.split(「」)。filter(函數(c){0}返回c.charCodeAt()!== 8206; })。join(「」)' – 2014-10-29 02:25:47
布爾過濾器很棒。它的工作 - 但發現這些不是普通的空字符,它們是真的。如果我簡單地在分割中輸入''「'',這個解決方案就會失敗,但是如果我從數組中複製/粘貼'''''''''',那麼這個解決方案會失敗修改了codepen以顯示這一點。這一定是一些奇怪的編碼? – prototype 2014-10-29 02:26:33