Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对字符串中的元素进行计数_Javascript - Fatal编程技术网

Javascript 对字符串中的元素进行计数

Javascript 对字符串中的元素进行计数,javascript,Javascript,我有一个字符串,它有逗号分隔的值。如何计算字符串中以逗号分隔的元素数? e、 下面的字符串有4个元素 string = "1,2,3,4"; myString.split(“,”).length首先将其拆分,然后对数组中的项进行计数。像这样: "1,2,3,4".split(/,/).length; 所有的答案都建议使用与myString.split(',').length等价的内容,这可能会导致不正确的结果,因为: "".split(',').length == 1

我有一个字符串,它有逗号分隔的值。如何计算字符串中以逗号分隔的元素数? e、 下面的字符串有4个元素

string = "1,2,3,4";

myString.split(“,”).length

首先将其拆分,然后对数组中的项进行计数。像这样:

"1,2,3,4".split(/,/).length;

所有的答案都建议使用与myString.split(',').length等价的内容,这可能会导致不正确的结果,因为:

"".split(',').length == 1

空字符串不是你想考虑的1个项目的列表。

一个更直观但仍然简洁的实现是:

myString.split(',').filter((i) => i.length).length

这不考虑0字符字符串作为列表中的元素。

"".split(',').filter((i) => i.length).length
0

"1".split(',').filter((i) => i.length).length
1

"1,2,3".split(',').filter((i) => i.length).length
3

",,,,,".split(',').filter((i) => i.length).length
0

非常类似,但不是完全重复。这没有错,只是定义不同而已。空字符串也是一个值;)例如,试试“,”。是的,但是你会说在大多数用例中,一个空字符串被认为是一个1值的列表吗?所以“a”中的项目数等于“”中的项目数?我不会说得太多,但肯定足够多了。如果没有值,您可能根本不想运行该函数请注意,浏览器对箭头函数的支持仍然有限:目前我建议使用常规函数,而不是you's right@Wolph。看起来IE11今天在全球仍占有12%的市场份额。什么是string=“1,2,3,4”?
"".split(',').filter((i) => i.length).length
0

"1".split(',').filter((i) => i.length).length
1

"1,2,3".split(',').filter((i) => i.length).length
3

",,,,,".split(',').filter((i) => i.length).length
0