如何利用 JavaScript 中的 set() 和 filter() 方法找出陣列中的重複項?
刪除重複項
為了刪除陣列中的重複項,我們可以採用許多邏輯方法,但高階的 JavaScript 提供了一些方法,使刪除重複項的任務變得非常簡單。其中一些方法是set() 和 filter()。為了更好地理解,讓我們分別討論每種方法。
Set()
set() 方法的重要用途是它只允許唯一值。換句話說,它將自動刪除重複項,並使任務變得對我們來說易如反掌。Set() 方法在刪除重複項時不會採用任何邏輯方法。
示例
在下面的示例中,已使用 set() 方法刪除了指定陣列中的重複項,而沒有采用任何邏輯方法。
<html>
<body>
<script>
var dupNames = ['John', 'Ram', 'Rahim', 'Remo', 'Ram', 'Rahim'];
var uniArr = [...new Set(dupNames)];
document.write("Before removing :" +" "+ dupNames);
document.write("</br>");
document.write("After using set() method :" +" "+ uniArr);
</script>
</body>
</html>輸出
Before removing : John,Ram,Rahim,Remo,Ram,Rahim After using set() method : John,Ram,Rahim,Remo
filter()
在下面的示例中,採用 filter() 方法仔細檢查每個元素是否重複了兩次或更多次。如果發現任何元素重複了兩次或更多次,則只允許保留它的一個值,並將其顯示在輸出中。
示例
<html>
<body>
<script>
var dupnam = ['John', 'Ram', 'Rahim', 'Remo', 'Ram', 'Rahim'];
var x = (dupname) => dupname.filter((v,i) => dupname.indexOf(v) === i)
document.write("Before removing : " +" "+ dupname);
document.write("</br>");
document.write("After filter() method :" +" "+x(dupname));
</script>
</body>
</html>輸出
Before removing : John,Ram,Rahim,Remo,Ram,Rahim After filter() method : John,Ram,Rahim,Remo
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP