如何使用JavaScript中的set()和filter()方法在数组中查找重复项?

删除重复项

要删除数组中的重复项,我们有许多逻辑方法,但是高级javascript提供了一些方法,因此删除重复项的任务变得非常简单。其中一些方法是set()和filter()。为了更好地理解,让我们分别讨论每种方法。

Set()

set()方法的重要用途是它仅允许唯一值。换句话说,它将自动删除重复项并使我们的任务变得简单。该套装()方法将不采取在删除重复的任何合理的方法。

在下面的示例中,使用set()方法以任何逻辑方法都删除了所提供数组中的重复项。 

<html>

<body>

<script>

   var dupNames = ['John', 'Ram', 'Rahim', 'Remo', 'Ram', 'Rahim'];

   var uniArr = [...new Set(dupNames)];

   document.write("删除之前:" +" "+ dupNames);

   document.write("</br>");

   document.write("After using set() method :" +" "+ uniArr);

</script>

</body>

</html>

输出结果

删除之前: 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("删除之前: " +" "+ dupname);  

   document.write("</br>");

   document.write("After filter() method :" +" "+x(dupname));

</script>

</body>

</html>

输出结果

删除之前: John,Ram,Rahim,Remo,Ram,Rahim

After filter() method : John,Ram,Rahim,Remo

以上是 如何使用JavaScript中的set()和filter()方法在数组中查找重复项? 的全部内容, 来源链接: utcz.com/z/350137.html

回到顶部