Tengo una cadena que tiene valores separados por comas. ¿Cómo puedo contar cuántos elementos en la cadena están separados por comas? por ejemplo, la siguiente cadena tiene 4 elementoscuente los elementos en la cadena
string = "1,2,3,4";
Tengo una cadena que tiene valores separados por comas. ¿Cómo puedo contar cuántos elementos en la cadena están separados por comas? por ejemplo, la siguiente cadena tiene 4 elementoscuente los elementos en la cadena
string = "1,2,3,4";
myString.split (''). Longitud
Primera división, y luego contar los elementos de la matriz. De esta manera:
"1,2,3,4".split(/,/).length;
No está mal, es simplemente una definición diferente. La cadena vacía también es un valor;) Pruebe ",," por ejemplo. – Wolph
Sí, pero ¿diría usted que, en la mayoría de los casos de uso, una sola cadena vacía se consideraría una lista de 1 valor? entonces ... ¿el conteo de ítems en "a" es igual al conteo de ítems en ""? – SuitedSloth
No diría más, pero definitivamente con la suficiente frecuencia. Si no hay ningún valor, probablemente no desee ejecutar la función en absoluto. – Wolph
var mystring = "1,2,3,4";
var elements = mystring.split(',');
return elements.length;
Todas las respuestas que sugieren algo equivalente a myString.split(',').length
podría conducir a resultados incorrectos porque:
"".split(',').length == 1
Una cadena vacía no es lo que es posible que desee considerar una lista de 1 articulo.
Una aplicación más intuitiva, y aún así sería sucinta:
myString.split(',').filter((i) => i.length).length
Esto no tiene en cuenta las cadenas 0 ningún carácter como elementos de la lista.
"".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
Tenga en cuenta que el soporte del navegador para las funciones de flecha sigue siendo limitado: http://caniuse.com/#feat=arrow-functions Por el momento lo recomendaría una función normal en su lugar – Wolph
Tienes razón @Wolph. Parece que IE11 todavía tiene un 12% de cuota de mercado en todo el mundo hoy. – SuitedSloth
muy similar a http://stackoverflow.com/questions/881085/count-the-number-of-occurances-of-a-character-in-a-string-in-javascript aunque no es un exacto duplicar. –