今天在浏览博客时,看到java里的”apple is a apple”去重问题,便想着用js来解决这个问题。具体思路如下:
var str = "apple is a apple";//首先去掉字符串中的空格,并拆分成字母 var cutSpace = str.replace(/\s/g,""); var aStr = cutSpace.split();//此时得到拆分为字母的字符串 var aStrSort = aStr.sort();//字符串排序,aStrSort=["a", "a", "a", "e", "e", "i", "l", "l", "p", "p", "p", "p", "s"] var array=[]; for(var i=0;i<aStrSort.length){ if(aStrSort[i]!=aStrSort[i-1]){ array.push(aStrSort[i]) } } console.log(array);//此时得到array=["a", "e", "i", "l", "p", "s"],去重完成。如果是统计出现最多的次数的话
var b=a.split(''); var json={}; var theMost=''; var key; for(var i=0;i<b.length;i++){ var char=b[i]; if (!json[char]) { json[char]=0 } json[char]++; } console.log(json); for(key in json){ if(theMost==''||json[key]>json[theMost]){ theMost=key; } } console.log(theMost); console.log(json[theMost]);//得到最多的次数的是P,4次