今天給朋友們帶來陣列元素去重的方法:
首先我們定義一組資料:
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、indexofarray.
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...