在空字符串上使用JS split函数将返回1,这当然很有意义。我遇到一种情况,我需要计算逗号分隔的字符串中ID的数量。仅string.split(',').length
在使用空字符串时,它将返回1,该数字与字符串中ID的实际数量不符(但这只是split的默认行为,因为返回了一个-empty-元素)。
为此,我编写了以下代码。但是有什么告诉我这不是最出色的解决方案。我想改进下面的代码,因此可以更好地理解最佳实践。
希望有人能在这里为我的问题提供帮助并提供一些反馈:关于空字符串,用逗号分隔的字符串计算ID数的最佳方法是什么?
var str1 = '12,16,91,89,43';
var str2 = '';
if(!str1)
countRight = 0;
else
countRight = str1.split(',').length;
if(!str2)
countWrong = 0;
else
countWrong = str2.split(',').length;
您的代码有点冗长。怎么样
count = str ? str.split (',').length : 0;
或更短,但更加模糊:
count = +(str && str.split(',').length);
甚至
count = str.length && str.split (',').length;
可以缩短为
count = (str && str.split (',')).length;
主题外:如果您的字符串来自用户输入,我建议您使用正则表达式进行拆分以允许空格 /\s*,\s*/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句