我有一个字符串
var stringIHave = "Java$$Java$$jQuery$$Java$$jQuery$$Java$$Java$$Java$$Hibernate$$Java$$Java$$Spring$$Instagram$$jQuery$$jQuery$$";
如何计算每个条目的出现次数,我得到的次数来自 Java = 8 等 JSON...
最佳答案
首先,您需要将 srting 拆分为数组:
var keywordsArr = stringIHave.split( '$$' );
然后你需要一个对象来存储计数:
var occur = {};
然后只需创建简单的 for 循环来计算所有出现的次数:
for( var i = 0; i < keywordsArr.length; i++ ) {
occur[ keywordsArr[ i ] ] = ( occur[ keywordsArr[ i ] ] || 0 ) + 1;
}
现在您的对象 occur
将以名称作为键并作为值计数。
参见 jsFiddle demo .
此外,由于您在字符串的末尾有 $$
,您可能需要从 keywordsArr
中删除最后一项,所以只需在 split
之后执行函数调用:
keywordsArr.pop();
参见 demo没有最后一个元素。
所以最终代码会是这样的:
var stringIHave = "Java$$Java$$jQuery$$Java$$jQuery$$Java$$Java$$Java$$Hibernate$$Java$$Java$$Spring$$Instagram$$jQuery$$jQuery$$",
keywordsArr = stringIHave.split( '$$' ),
occur = {};
keywordsArr.pop();
for( var i = 0; i < keywordsArr.length; i++ ) {
occur[ keywordsArr[ i ] ] = ( occur[ keywordsArr[ i ] ] || 0 ) + 1;
}
for( var key in occur ) {
document.write( key + ' - ' + occur[key] + '<br/>' );
}
关于javascript - 字符串拆分并计算出现的次数以及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893634/