陣列元素去重的方法

2021-09-22 14:12:37 字數 1257 閱讀 7348

今天給朋友們帶來陣列元素去重的方法:

首先我們定義一組資料:

let array =[3

,1,7

,1,3

,2,5

,4,3

,2,5

,7,8

,9,8

];let newarray =

;

接下來我們分別用不同的方法去對他進行去重。放到newarray裡面。

一:es3普通迴圈

function

has(array,val)

return

false;}

for(

let i =

0, len = array.length; i < len; i++

)}

壓縮到乙個函式裡:

function

uniquearray

(arr)

}return temp;

}

二:es5中的方法:foreach、indexof
array.

foreach

(function

(curr)

})

三:es5中的reduce方法:
newarray = array.

reduce

((init, curr)

=>

return init;},

)

四:es5中的array.from()和es6set()方法結合:
newarray = array.

from

(new

set(array)

);

let

set=

newset()

;array.

foreach

(function

(curr));

newarray = array.

from

(set);

newarray = array.

from

(new

set(array)

);

我們不管用上述的哪一種方法都會發現newarray裡面已經沒有重複的值了,我們已經完成了去重。

陣列中的物件去重:

請看此:

matlab 陣列元素去重

今天老闆突然在群裡問了乙個問題,如何使用matlab 將乙個陣列中重複出現的所有元素剔除。ie 1,1,2,3,4 2,3,4 基本思路就是統計每個元素出現的次數,然後選出出現次數為 1 次的進行輸出。使用c 我們可以借助乙個 map 非常容易的實現,但是要求用matlab 確實有些費勁。其中,hi...

陣列去重方法

1 es6提供了新的資料結構set,它類似於陣列,但是成員的值是唯一的,沒有重複的值。let arr 1,2,5,2,3,4,1,2,3,5,4,1,2,3,2,1,1,1,asd 123 123 123 asd 1,true,true,false console.log new set arr 或...

陣列去重方法

雙迴圈去重 雙重 for 或 while 迴圈是比較笨拙的方法,它的實現原理很簡單 先定義乙個包含原始陣列第乙個元素的陣列,然後遍歷原始陣列,將原始陣列中的每個元素與新陣列的每個元素進行比較,如果不重複則新增到新的陣列中,最後返回新的陣列,其缺點是如果陣列長度很長,那麼將會非常消耗記憶體 funct...