国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS下的6種數(shù)組去重方式

red_bricks / 3130人閱讀

摘要:當(dāng)排序后目標(biāo)數(shù)組的項不是新數(shù)組的最后一項時,說明不是重復(fù)項,推入新數(shù)組。給對象添加屬性遍歷對象屬性方法五在上看到了這種針對數(shù)組中為純數(shù)字時的排序去重方法。

方法一:
function deRepeated(arr){//傳入要去重的目標(biāo)數(shù)組
         var newArr=[];
         for(var i=0;i

方法二:
function deRepeated(arr){
        var newArr=[];
        for(var i=0;i

方法三:

??????由于方法一和方法二都用到了ES5的indexOf()方法,有些瀏覽器可能不兼容。還可采用方法三:先對目標(biāo)數(shù)組重排序,排序后重復(fù)項相鄰,然后遍歷目標(biāo)數(shù)組。當(dāng)排序后目標(biāo)數(shù)組的項不是新數(shù)組的最后一項時,說明不是重復(fù)項,推入新數(shù)組。

function deRepeated(arr){
            var newArr=[];
            arr.sort();
            for(var i=0;i

注意點:由于涉及到直接比較數(shù)組的項,所以應(yīng)采用不全等方式"!=="; ?
缺點:由于對目標(biāo)數(shù)組進(jìn)行先排序后去重,因此返回的也是排序后的新數(shù)組。

方法四:

??????原理是遍歷目標(biāo)數(shù)組各項,保存為對象屬性并統(tǒng)一給其設(shè)置屬性值1,給重復(fù)的屬性設(shè)置值時會覆蓋原來的,然后遍歷對象屬性,由于返回的是字符串形式,應(yīng)轉(zhuǎn)為數(shù)字后再存入新數(shù)組。

function deRepeated(arr){
            var obj={},
                newArr=[];
            for(var i=0;i

方法五: ?

??????在stackoverflow上看到了這種針對數(shù)組中為純數(shù)字時的排序去重方法。

function deRepeated(arr){
         arr.sort(function(a,b){  //對目標(biāo)數(shù)組重排序,使有重復(fù)項的相鄰
                  return a-b; 
         })
         var newArr=[arr[0]]; //第一項先放入新數(shù)組中
         for(var i=1;i

方法六: ?

??????利用ES6新增的對象內(nèi)置類型Set,利用其元素不重復(fù)的特點,在實例內(nèi)部實現(xiàn)自動去重。 ?

function deRepeated(arr){
         var set=new Set(arr);

         arr.splice(0);
         arr.push(...set); 
         return arr;   //返回原數(shù)組

         //return new Array(...set);   //返回新數(shù)組
}
var arr=[2,3,6,4,7,3,5,4,4,4];
console.log(deRepeated(arr));   //[2,3,6,4,7,5]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/89871.html

相關(guān)文章

  • JS進(jìn)階篇5---JS數(shù)組去重的n方式

    1、利用 indexOf() 方法之一 Array.prototype.unique = function(){ var temp = []; for (var i = 0;i < this.length;i++){ // 如果當(dāng)前數(shù)組的第 i 項已經(jīng)保存到了臨時數(shù)組,那么跳過 if(temp.indexOf( this[i] ) == -1){ ...

    baihe 評論0 收藏0
  • JS實現(xiàn)數(shù)組去重方法總結(jié)(六方法)

    摘要:利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運算符內(nèi)部使用循環(huán)拓展,合并數(shù)組之后去重第種方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。該方法會產(chǎn)生一個新的數(shù)組再引用上面的任意一個去重方法第種。 1.第1種 雙層循環(huán),外層循環(huán)元素,內(nèi)層循環(huán)時比較值,如果有相同的值則跳過,不相同則push進(jìn)數(shù)組 Array.prototype.distinct = function(){ var arr =...

    Fourierr 評論0 收藏0
  • javascript 數(shù)組去重6思路

    摘要:但是這并不妨礙我們從思維拓展的角度出發(fā),看看去重可以用幾種思路去實現(xiàn)。首先是常規(guī)的雙層循環(huán)比對的思路實現(xiàn)定義一個變量表示當(dāng)前元素在中是否存在。依次對中的元素和原數(shù)組元素進(jìn)行比對。重點是保證碰撞的幾率小到比中大獎還小就可以了。 前端在日常開發(fā)中或多或少都會碰到有對數(shù)據(jù)去重的需求,實際上,像是lodash這些工具庫已經(jīng)有成熟完備的實現(xiàn),并且可以成熟地運用于生產(chǎn)環(huán)境。但是這并不妨礙我們從思維...

    AlphaWallet 評論0 收藏0
  • JavaScript 實現(xiàn)數(shù)組更多的高階函數(shù)

    摘要:實現(xiàn)數(shù)組更多的高階函數(shù)吾輩的博客原文場景雖說人人平等,但有些人更加平等。若是有一篇適合萌新閱讀的自己實現(xiàn)數(shù)組更多操作的文章,情況或許會發(fā)生一些變化。類似于的初始值,但它是一個函數(shù),避免初始值在所有分組中進(jìn)行累加。 JavaScript 實現(xiàn)數(shù)組更多的高階函數(shù) 吾輩的博客原文: https://blog.rxliuli.com/p/fc... 場景 雖說人人平等,但有些人更加平等。 為...

    aervon 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<