2010-06-17 91 views
6

Tôi có chuỗi có giá trị được phân cách bằng dấu phẩy. Làm cách nào tôi có thể đếm số lượng phần tử trong chuỗi được phân tách bằng dấu phẩy. ví dụ: chuỗi sau có 4 phần tửđếm các phần tử trong chuỗi

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

+0

Rất giống với http://stackoverflow.com/questions/881085/count-the-number-of-occurances-of-a-character-in-a-string-in-javascript dù không chính xác bản sao. –

Trả lời

10

myString.split (','). Chiều dài

1

Trước tiên hãy chia nhỏ và sau đó đếm các mục trong mảng. Như thế này:

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

Nó không sai, nó chỉ đơn giản là một định nghĩa khác. Chuỗi rỗng cũng là một giá trị;) Hãy thử ",," ví dụ. – Wolph

+0

Có, nhưng bạn sẽ nói rằng trong hầu hết các trường hợp sử dụng, một chuỗi rỗng sẽ được coi là danh sách 1 giá trị? vì vậy .. số lượng các mục trong "a" bằng tổng số mục trong ""? – SuitedSloth

+0

Tôi sẽ không nói nhiều nhất nhưng chắc chắn thường đủ. Nếu không có giá trị nào bạn có thể không muốn chạy hàm này ở tất cả – Wolph

4
var mystring = "1,2,3,4"; 
var elements = mystring.split(','); 
return elements.length; 
0

Tất cả các câu trả lời cho thấy một cái gì đó tương đương với myString.split(',').length có thể dẫn đến kết quả không chính xác bởi vì:

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

Một chuỗi rỗng không phải là những gì bạn có thể muốn xem xét một danh sách các 1 mục.

Một thực hiện trực quan hơn, nhưng vẫn gọn gàng sẽ là:

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

này không xem xét chuỗi 0 ký tự như các yếu tố trong danh sách.

"".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 
+0

Lưu ý rằng hỗ trợ trình duyệt cho các chức năng mũi tên vẫn còn hạn chế: http://caniuse.com/#feat=arrow-functions Hiện tại, tôi sẽ khuyên bạn nên một chức năng thông thường thay vì – Wolph

+0

Bạn đúng @Wolph. Có vẻ như IE11 vẫn có thị phần 12% trên toàn cầu hiện nay. – SuitedSloth

Các vấn đề liên quan