如何利用 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