网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 JS 清除字符串数组中,重复元素的实现方法
内容
    下面小编就为大家带来一篇JS 清除字符串数组中,重复元素的实现方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    JS 清除字符串数组中,重复元素的实现方法
    <script language="JavaScript">
    <!--
    var arrData=new Array();
    for(var i=0; i<1000; i++)
    {
    arrData[arrData.length] = String.fromCharCode(Math.floor(Math.random()*26)+97);
    }
    //document.write(arrData+"<br/>"); 
    <span><strong>//方法一,普通遍历
    </strong></span>function myArray_Unique(myArray)
    {
    //var myArray=new Array("a","a","c","a","c","d","e","f","f","g","h","g","h","k");
    var haha=myArray;
    for(var i=0;i<myArray.length;i++)
    {
    for(var j=0;j<myArray.length;j++)
    {
    temp=myArray[i];
    if((i+j+1)<myArray.length&&temp==myArray[i+j+1]) //如果当前元素与后一个元素相等
    haha.splice(i+j+1,1); //然后就移除下一个元素 
    }
    }
    return haha;
    } 
    <span><strong>//方法二
    </strong></span>function getUnique(someArray)
    {
    tempArray=someArray.slice(0);//复制数组到临时数组
    for(var i=0;i<tempArray.length;i++)
    {
    for(var j=i+1;j<tempArray.length;)
    {
    if(tempArray[j]==tempArray[i])
    //后面的元素若和待比较的相同,则删除并计数;
    //删除后,后面的元素会自动提前,所以指针j不移动
    {
    tempArray.splice(j,1);
    }
    else
    {
    j++;
    }
    //不同,则指针移动
    }
    }
    return tempArray;
    } 
    <span><strong>//方法三 正则表达式 -- 适用于字符型数组
    </strong></span>function getUnique2(A)
    {
    var str = "\x0f"+ A.join("\x0f");
    while(/(\w+)[^\1]*\1/.test(str))
    str = str.replace("\x0f"+ RegExp.$1, "");
    return str.substr(1).split("\x0f");
    } 
    <span><strong>//方法四 关联结构
    </strong></span>Array.prototype.unique = array_unique;
    function array_unique()
    {
    var o = new Object();
    for (var i=0,j=0; i<this.length; i++)
    {
    if (typeof o[this[i]] == 'undefined')
    {
    o[this[i]] = j++;
    }
    }
    this.length = 0;
    for (var key in o)
    {
    this[o[key]] = key;
    }
    return this;
    } 
    var d = new Date().getTime();
    document.write(myArray_Unique(arrData));
    d = new Date().getTime()-d;
    document.write("<br/>2000元素 方法一算法计耗时 "+ d +" 毫秒!<br/><br/>"); //大约370ms~390ms左右 
    var d = new Date().getTime();
    document.write(getUnique(arrData));
    d = new Date().getTime()-d;
    document.write("<br/>2000元素 方法二算法计耗时 "+ d +" 毫秒!<br/><br/>"); //大约360ms~380ms左右 
    var d = new Date().getTime();
    document.write(getUnique2(arrData));
    d = new Date().getTime()-d;
    document.write("<br/>2000元素 正则表达式 方法三算法计耗时 "+ d +" 毫秒!<br/><br/>");//大约80ms左右 
    var d = new Date().getTime();
    document.write(arrData.unique());
    d = new Date().getTime()-d;
    document.write("<br/>2000元素 关联结构 方法四算法计耗时 "+ d +" 毫秒!<br /><br />");//大约0ms~10ms左右 
    //-->
    </script>
    以上这篇JS 清除字符串数组中,重复元素的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 20:26:35