http://community.csdn.net/Expert/TopicView3.asp?id=5527563

解决方案 »

  1.   

    正则表达式带有一个 conut属性。可以获得匹配项的数目
      

  2.   

    可我想知道具体有什么字是重复的,这是要先有的,其次才是次数
    ----------------------------
    上面的连接http://community.csdn.net/Expert/TopicView3.asp?id=5527563
    完全可以啊
      

  3.   

    稍微修改了下JK_10000(JK)的
    <script>
     //回复人:JK_10000(JK) ( ) 信誉:121 2007-5-15 12:49:42 得分:1 
     
     
    //? 
    //用最基本的思路有什么不好的:function mm(str)
    {
    var charArray=str.split("");
    var lengthMap=new Array();
    for(var i=charArray.length-1;i>-1;i--)
    {
    (lengthMap[charArray[i]]++) || (lengthMap[charArray[i]]=1);
    }
    var rs="";
    for(var i in lengthMap)
    {
    rs+="字符:"+i+" ;字数:"+lengthMap[i]+"\n";

    } alert(rs);
    }var str="abcdefsfasdfsdfasdad";
    mm(str);</script>
      

  4.   

    字?
    中文还是英文?
    如果是中文,还是很麻烦的,
    如果是英文,是否是单词?这样也是不简单的!
    codeworker999() 的例子数据量太小了!
      

  5.   

    var s="用121212 ,aaddd,google,baidu,最基本的思路有什么不好的:121,.,;'";function mm(str)
    {
    var ds=new Date();
    var reg=/\b[a-zA-Z]+\b|[\u4e00-\u9fa5]/g;
    var lengthMap=new Array();//arguments//function(){alert(arguments.length+"\n"+arguments[0]+"\n"+arguments[1]+"\n"+arguments[2]+"\n"+arguments[3]+"\n"+arguments[4]+"\n");})//
    str=str.replace(reg,function(){(lengthMap[arguments[0]]++) || (lengthMap[arguments[0]]=1);});//

    var rs="";
    for(var i in lengthMap)
    {
    rs+="字符:"+i+" ;字数:"+lengthMap[i]+"\n";

    }
    alert(new Date()-ds+"ms");
    alert(rs);
    return lengthMap;
    }
    mm(s);
      

  6.   

    var s="用121212 ,aaddd,google,baidu,最基本的思路有什么不好的:121,.,;'";
    for(var i=0;i<12;i++)s+=s;
    function mmm(str)
    {
    var ds=new Date();
    var reg=/(\b[a-zA-Z]+\b)|[\u4e00-\u9fa5]/g;
    var lengthMap=new Array();
    var matchAr=str.match(reg);
    if(matchAr==null)return;
    var l=matchAr.length
    for(var i=0;i< l;i++){(lengthMap[matchAr[i]]++) || (lengthMap[matchAr[i]]=1);}
    var rs="";
    for(var i in lengthMap)
    {
    rs+="字符:"+i+" ;字数:"+lengthMap[i]+"\n";

    }
    alert(new Date()-ds+"ms");
    alert(rs);
    return lengthMap;
    }
    mmm(s);
      

  7.   

    http://community.csdn.net/Expert/TopicView3.asp?id=5527563
    提供的算法改造后应该能满足LZ的要求(记录总结过程来输出),不过我还是觉得楼主可能自己对要求都不是很明确。
      

  8.   

    <html>
    <script>
    function ReadFile(path,format)
    {
    try
    {
    var fso,f,fs,ftxt;
         fso= new ActiveXObject("Scripting.FileSystemObject");
          f = fso.GetFile(path);
          fs= f.OpenAsTextStream(1,format);
          ftxt=fs.ReadAll();
          fs.close();
          return(ftxt);
       }catch(e){alert("Error:\nFilePath="+path+"\n"+e.message);return null};
    }
    function mm(str)
    { var lengthMap=new Array();
    if(!str)return lengthMap;
    var reg=/(\b[a-zA-Z]+\b)|([\u4e00-\u9fa5])/g;

    var matchAr=str.match(reg);
    if(matchAr==null)return;
    var l=matchAr.length
    for(var i=0;i< l;i++){(lengthMap[matchAr[i]]++) || (lengthMap[matchAr[i]]=1);}
    for(var i in lengthMap){if(lengthMap[i]<=1)delete lengthMap[i];}
    return lengthMap;
    }function check()
    {
    var format=-2;

    var formatar=document.getElementsByName("redformat");
    for(var i=0; i< formatar.length;i++){if(formatar[i].checked){format=formatar[i].value;break;}}
    var ar=mm(ReadFile(filepath.value,format));
    var rs="";re=/^[a-zA-Z]+$/
    for(x in ar)
    {
    if(re.test(x))
    rs+="单词"+"="+x+"    重复数="+ar[x]+"\n";
    else rs+="中文"+"="+x+"    重复数="+ar[x]+"\n";
    }


    rstext.value=rs;
    }</script>
    <body>
    <FIELDSET style="width:500; border : 1px solid #ff9900;text-align:left;COLOR:#004444;FONT-SIZE: 
    12px;font-family: Verdana;padding:5px;"><legend>读取方式</legend>
    <INPUT type=radio name="redformat" value="-2" CHECKED>使用系统默认值打开文件<br>
    <INPUT type=radio name="redformat" value="-1">以 Unicode 方式打开文件<br>
    <INPUT type=radio name="redformat" value="0">以 ASCII 方式打开文件
    </FIELDSET><br><br>
    <input type=file id=filepath style="width:400" />&nbsp;&nbsp;&nbsp;&nbsp;<button onclick="check()" value="">CHECK</button><br>
    <textarea id=rstext style="font-family:宋体;width:500;height:400"></textarea>
    </body>
    </html>
      

  9.   

    不管怎么样,还是谢谢codeworker999() ,没有功劳也有苦劳,毕竟这里是没有报酬的,这世上需要你这样的人
      

  10.   

    <script>
    var s = "The following example uses the XMLDocument and XMLNode classes to parse and format an XML document. Rather than loading an external XML file, the example uses the top-level XML class to create an XML document, then parses it. ";var list = new Array();
    var keys = new Array();for (var i=0; i< s.length; i++)
    {
    if (typeof(list[s.substr(i, 1)]) == "undefined")
    {
    keys[keys.length] = s.substr(i, 1);
    list[s.substr(i, 1)] = 1;
    }
    else
    {
    list[s.substr(i, 1)] ++;
    }
    }document.write(s);
    document.write("<br>");
    for (var i = 0; i< keys.length; i++)
    {
    document.write(keys[i]);
    document.write(" - ");
    document.write(list[keys[i]]);
    document.write("<br>");
    }
    </script>