使用Javascript(AngularJS / Lodash)计算字符串中的逗号

时间:2014-12-22 18:38:21

标签: javascript arrays angularjs lodash

我有一个相当具体的问题。

我正在使用ng-csv,并且因为它不支持嵌套数组,所以我将数组转换为字符串。

这样的事情:

[
 {"name":"Maria","chosen":false},
 {"name":"Jenny","chosen":false},
 {"name":"Ben","chosen":false},
 {"name":"Morris","chosen":false}
]

变成:

$scope.var = "Maria, Jenny, Ben, Morris"

我的问题是,当我使用数组时,我能够计算数组中的名称数量(我需要出于UI的原因),但是使用字符串会变得很棘手。

基本上,我不能计算单词的数量,因为有些名字可能包含姓氏,但我想我可以算逗号,然后加1。

关于如何做到这一点的任何指示?

3 个答案:

答案 0 :(得分:3)

如果您需要名称 - 您可以使用split类的方法String

var str = "Maria, Jenny, Ben, Morris";
var arr = str.split(','); // ["Maria", " Jenny", " Ben", " Morris"]
var count = arr.length; // 4

答案 1 :(得分:2)

var str = "Maria, Jenny, Ben, Morris";
var tokens = str.split(",");

应在tokens.length中捕获令牌数量。或者,如果您实际上不需要直接使用令牌:

var nameCount = str.split(",").length;

答案 2 :(得分:0)

为什么不使用正则表达式?

var _string = "Mary, Joe, George, Donald";

_string.match(/,/g).length // 3