本帖最后由 Opera_mini 于 2013-03-13 11:06:55 编辑

解决方案 »

  1.   

    var a=[];
    for(var i in phonenumbers){
    a[phonenumbers[i]]=1;
    }
    for(var i in a){
    document.write(a[i]);
    }
    看看大体这样可以不
      

  2.   


    <script type="text/javascript">
    function formSubmit(){
    var phoneStr = "13613965892,2分31秒13613965892,38秒13613965892,10分14秒37163786399,46秒" +  
    "13633889873,6分52秒37163670465,45秒18896841667,4分25秒13460683584,8分58秒13101719511,1分38秒13066114220,2分19秒" + 
    "15324989579,15秒15324989579,10秒13613965892,3分26秒13101719511,2分20秒15803889653,1分20秒13066114220,30秒15803889653,2分24秒" + 
    "13613965892,2分24秒15803889653,1分25秒13101719511,29秒15803889653,1分57秒15803889653,2分1秒15803889653,1分54秒" + 
    "13101719511,26秒13613965892,31秒15803889653,1分16秒15515689780,2分44秒18337171792,16秒13613965892,14分33秒" + 
    "15803889653,6分33秒18221496900,1分10秒15938552013,1分0秒13101719511,1分13秒15803889653,5分30秒15803889653,3分6秒13101719511,12秒" + 
    "37163786399,1分29秒13613965892,3分29秒18337171792,1分54秒18337171792,33秒" ;

    var phoneArray = new Array(); 
    var timeArray = new Array();
    var existsArray = new Array();
    var valueStr = "" ;
    phoneArray = phoneStr.split("秒");
    for (var i = 0 ; i < phoneArray.length -1 ; i++){
    var k = 0 ;
    for ( ; k < existsArray.length ; k++){
    if (phoneArray[i].split(",")[0] == existsArray[k]){
    break ;
    }else {
    continue ;
    }
    }
    if (k >= existsArray.length){
    existsArray.push(phoneArray[i].split(",")[0]);
    timeArray.push(phoneArray[i].split(",")[1]);
    }else {
    timeArray[k] = timeArray[k] + "#" + phoneArray[i].split(",")[1] ;
    }
    }
    for (var j = 0 ; j < existsArray.length ; j++){
    valueStr = valueStr + existsArray[j] + "," + formatTime(timeArray[j]) + "<br />" ;
    //alert(existsArray[j]);
    //alert(timeArray[j]);
    }
    document.getElementById("txt1").innerHTML = valueStr ;
    };
    function formatTime(value){
    var valueArray = value.split("#");
    var second = 0 ;
    if (valueArray.length > 1){
    for (var i = 0 ; i < valueArray.length ; i++){
    if (valueArray[i].split("分").length > 1){
    second = second + ( parseInt(valueArray[i].split("分")[0], 10) * 60 ) + parseInt(valueArray[i].split("分")[1], 10) ;
    }else {
    second = second + parseInt(valueArray[i], 10) ;
    }
    }
    }else {
    return valueArray[0] + "秒";
    }
    if (parseInt(second/60 , 10) == 0){
    return second + "秒" ;
    }else {
    return parseInt(second/60 , 10) + "分" + second%60 + "秒" ;
    }
    };
    </script><body>
      <div id="txt1"></div>
    </body>
      

  3.   

    <div id="test">
    13613965892,2分31秒
    13613965892,38秒
    13613965892,10分14秒
    37163786399,46秒
    13633889873,6分52秒
    37163670465,45秒
    18896841667,4分25秒
    13460683584,8分58秒
    13101719511,1分38秒
    13066114220,2分19秒
    15324989579,15秒
    15324989579,10秒
    13613965892,3分26秒
    13101719511,2分20秒
    15803889653,1分20秒
    13066114220,30秒
    15803889653,2分24秒
    13613965892,2分24秒
    15803889653,1分25秒
    13101719511,29秒
    15803889653,1分57秒
    15803889653,2分1秒
    15803889653,1分54秒
    13101719511,26秒
    13613965892,31秒
    15803889653,1分16秒
    15515689780,2分44秒
    18337171792,16秒
    13613965892,14分33秒
    15803889653,6分33秒
    18221496900,1分10秒
    15938552013,1分0秒
    13101719511,1分13秒
    15803889653,5分30秒
    15803889653,3分6秒
    13101719511,12秒
    37163786399,1分29秒
    13613965892,3分29秒
    18337171792,1分54秒
    18337171792,33秒
    </div>
    <script type="text/javascript">
    var fnStr2Time = function(str){
    var str = str.match(/^(?:(\d+)分)?(\d+)秒$/),
    m, s = 0;
    if( str ){
    m = +str[1];
    s = +str[2];
    }
    if( m ){
    return m * 60 + s;
    }
    return s;
    };
    var fnTime2Str = function(n){
    var m = parseInt(n/60),
    s = n % 60;
    return (m?m+'分':'')+s+'秒';
    };
    var str = document.getElementById('test').innerHTML;
    str = str.match(/.+?(?=\s+)/g);

    var obj = {},
    tmp;
    for(var i = 0, len = str.length; i < len; i++){
    tmp = str[i].split(',');
    if( obj[tmp[0]] ){
    obj[tmp[0]] += fnStr2Time(tmp[1]);
    }else{
    obj[tmp[0]] = fnStr2Time(tmp[1]);
    }
    }
    str = '';
    for(var x in obj){
    str += x + ',' + fnTime2Str(obj[x]) + '\n';
    }
    document.getElementById('test').innerHTML = str;





    </script>
    这个意思?
      

  4.   

    这个existsArray之前都没有赋值,怎么就 k < existsArray.length 了呢?
      

  5.   

    没有附值的情况下 existsArray.length 就是 0 呀?你不是要去掉重复,然后重复的把分和秒都加到一起呀!你看结果对不对。
    13613965892,37分46秒
    37163786399,2分15秒
    13633889873,6分52秒
    37163670465,45秒
    18896841667,4分25秒
    13460683584,8分58秒
    13101719511,6分18秒
    13066114220,2分49秒
    15324989579,25秒
    15803889653,27分26秒
    15515689780,2分44秒
    18337171792,2分43秒
    18221496900,1分10秒
    15938552013,1分0秒
      

  6.   

    用了FireBug调试了,但是没有任何错误提示。
      

  7.   

    当然没有错误提示了。我写的本身就是测试过的。
    你不就是想要去掉重复和把重复的加到一起呀。
    <button onclick="formSubmit();">获取</button>
    执行一下我写的方法就行了啊!你看看是不是你想要的结果。
      

  8.   

    var str="shouji.秒|| shouji.秒|| shouji.秒 "
    strlist=str.split("||").sort();
    for(){}//这里循环去掉重复值,把秒加起来或取最小值都行
    手机打的,这里就没有for了