我有一个相当具体的问题。
我正在使用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。
关于如何做到这一点的任何指示?
答案 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