js统计字符串中每个字符出现的次数

JavaScript029

js统计字符串中每个字符出现的次数,第1张

<script type="text/javascript">

/*计算子字符串在字符中出现的次数*/

//字符串

var str1 = 'zhulinjia zh lia tjqig qgx gja xx yy xxf xxxq wqja ix'

//子串

var str2 = 'a'

alert( Tongji(str1 , str2) )

//统计

function Tongji(string , char)

{

var index = 0 , index1 = 0 , count = 0

for(var i = 0i <string.length &&( index1 !dao= -1 )i++ )

{

index1 = string.indexOf(char, index)

index = index1 + 1

count = i

}

return count

}

方法很多,有一种方法最简单。用split()来分割你需要查询出现次数的字符。分割后得到的数组长度减1就是字符串出现的次数了。举例如下。var abox="谁爱我,你爱我吗"需要查找"我"字出现的次数。cishu=abox.split("我").length-1数组长度是3,"我"字出现的次数是2。

var

stringUtil

=

{},

max

=

0

stringUtil.getMaxLengthCharacter

=

function(s)

{

var

getObj,

info

=

{},

getMaxLength

/*

*

把字符和出现次数存放在对象中

*/

getObj

=

(function(s)

{

var

i

=

0,

j

=

s.length,

obj

=

{}

for

(i

=

0

i

<

j

i++)

{

if

(!obj[s[i]])

{

obj[s[i]]

=

1

}

else

{

obj[s[i]]

+=

1

}

}

return

obj

})(s)

/*

*

找出最长的个数

*

考虑到一个字符串中的最大长度可能不止一个,所以,这里需要找出最大数

*/

getMaxLength

=

(function()

{

var

max

=

0,

//好歹也出现0次

i

for

(i

in

getObj)

{

if

(getObj[i]

>=

max)

{

max

=

getObj[i]

}

}

return

max

})()

for

(var

i

in

getObj)

{

if

(getObj[i]

===

getMaxLength)

{

info[i]

=

getObj[i]

}

}

return

info

}

//

调用

var

res

=

stringUtil.getMaxLengthCharacter('aaabbbccc')

window.console

&&

console.log(res)