js陣列去除重複資料

2021-09-21 01:12:17 字數 1584 閱讀 1669

建立乙個新陣列,然後迴圈遍歷要去重的陣列,每次判斷新陣列不包含舊陣列的值時(新陣列用indexof方法檢索舊陣列的值返回結果等於-1)將該值加入新陣列。

let oldarr =[1

,2,3

,4,5

,5,6

,7,8

,2,3

];let newarr =

unique

(oldarr)

;function

unique

(arr)

}return hash;

}

與第一種方法類似,先遍歷,然後判斷當前陣列的第i項在陣列中第一次出現的位置是否與i相等,不是則說明重複,忽略,不加入新陣列。

let oldarr =[1

,2,3

,4,5

,5,6

,7,8

,2,3

];let newarr =

unique

(oldarr)

;function

unique

(arr)

}return hash;

}

對陣列進行排序後,將新陣列的最後乙個值與舊陣列的當前值進行比較,如果相等說明重複,不相等則新增至新陣列。

function

unique

(arr)

}return hash;

}

set型別:es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。

set本身是乙個建構函式,用來生成set資料結構。

所以我們可以直接用set來處理陣列,但是處理完後可以用array.form方法或者擴充套件函式把它重新轉回陣列,不然得到的是set型別,對於一些有型別判斷的地方是不通過的。

let oldarr =[1

,2,3

,4,5

,5,6

,7,8

,2,3

];let newarr =

newset

(oldarr)

; console.

log(newarr)

; console.

log(newarr instanceof

array);

// 此時是set型別,不是array

js陣列去除重複資料

1 遍歷陣列法 建立乙個新陣列,然後迴圈遍歷要去重的陣列,每次判斷新陣列不包含舊陣列的值時 新陣列用indexof方法檢索舊陣列的值返回結果等於 1 將該值加入新陣列。let oldarr 1,2,3,4,5,5 6,7,8,2,3 let newarr unique oldarr function...

去除陣列重複資料

原始陣列 1,2,1,2,3,4,5 結果陣列 1,2,3,4,5 函式 function removesame arr for var i 0 i 4.過程 1 第一輪 i 0 i 7 i j 1 j 7 i 0,j 1,1 2不等,j 1.i 0 j 2,1 1相等 去除第乙個 1,陣列長度變為...

去除重複數

這是一道外企演算法的面試題,前提是不允許使用util包之外的類,即任何集合類都不允許使用。寫出的演算法效率越高,此題得分越高,大家可以試一下。題目是輸入一串已經排序好的陣列,輸出消除重複數之後的陣列。如 輸入 輸出 消除重複數 已經排序好的陣列 author fangtengfei date 201...