2014-06-16 42 views
1

代码:如何获得字符串的真实长度?

str = String.fromCharCode(2000000000000000000000000) 

好吧,其实str = ""。但str.length = 1.

我该怎么做才能得到真正的长度?

任何帮助可以高度赞赏!!!!

+1

定义“真实长度”。如果你想避免计算代码为0的字符,你可以使用[] .filter.call(str,function(item){return item.charCodeAt(0)})。 –

+0

感谢您的解决方案,@YuryTarabanko。你可以写一个答案。 – user3698272

回答

6

您的语句不能将该字符代码转换为字符,因此它返回空字符,您的str变量是一个单个字符,其中charcode 0

str = String.fromCharCode(2000000000000000000000000) 
    "" 
str.length 
    1 
str.charCodeAt(0) // First char 
    0 
str.charCodeAt(1) // Non-existant char for reference 
    NaN 
+0

那么在这种情况下如何让它返回0呢? – user3698272

+1

@ user3698272你不能,因为它的长度不是0而是1.你可以做'if(str === String.fromCharCode(0)){str =“”; }清除空字符。 – JJJ

相关问题