久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

數(shù)組中刪除相同的對象

 尹亮亮 2015-08-13

 實現(xiàn)過濾數(shù)組中的相同元素,。方法一:
var myArr:Array=[1,2,3,4,5,1,1,3,5,4,2,1,3,2,2,5];

trace(filterArray(myArr)); //輸出:1,2,3,4,5

function filterArray(arr:Array):Array {

        var tempArr:Array=[];

        var l:uint=arr.length;

        for (var i:uint=0;i<l;i++) {

                if (tempArr.indexOf(arr[i])==-1) {  

//在新的數(shù)組里搜索是否存在相同元素,如果不存在加進新的數(shù)組里

                        tempArr.push(arr[i]);

                }

        }

        return tempArr;

}

==========================================================

方法二:
var arr:Array=["aa","bb","cc","dd","bb","cc","aa","bb","gg","aa","cc"];

function formatX(arr:Array):Array {

        var obj:Object={};

        return arr.filter(function(item:*, index:int, array:Array):Boolean{

                               return !obj[item]?obj[item]=true:false

                                                                });

}

trace(formatX(arr))

//該方法的實現(xiàn)過程是 對于”aa”來講 obj["aa"]的值為undefined 而!undefined為true,就會返回該成員,,然后 將obj["aa"]的值設(shè)為true,下一次遇到obj["aa"]時,,obj["aa"]的值為true,,!obj["aa"]的值就為false,就不返回該成員。

================================================================================

//方法一,,普通遍歷(這個方法還不完善,,比如刪除掉某個索引的值,那么后邊所有項的索引全部減1,,但是下一次遍歷時仍然是從這個被刪除的位置加1,,這樣就漏掉了一個剛剛因為索引值減少而占據(jù)在被刪索引的項,。比如[1,1,1,1,1,1,1]遍歷后變成[1,1,1]而不是[1])
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]) //如果當(dāng)前元素與后一個元素相等
                  haha.splice(i+j+1,1); //然后就移除下一個元素 
        }
    }
    return haha;


//方法二(ok)
function getUnique(someArray)
{
tempArray=someArray.slice(0);//復(fù)制數(shù)組到臨時數(shù)組
for(var i=0;i<tempArray.length;i++)
{
for(var j=i+1;j<tempArray.length;)
{
if(tempArray[j]==tempArray[i])
//后面的元素若和待比較的相同,,則刪除并計數(shù);
//刪除后,,后面的元素會自動提前,,所以指針j不移動
{
tempArray.splice(j,1);
}
else
{
j++;
}
//不同,則指針移動
}
}
return tempArray;
}



//方法三 正則表達式 -- 適用于字符型數(shù)組
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");
}


//方法四 關(guān)聯(lián)結(jié)構(gòu)
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;
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多