9. JS编程之查找数组中重复的元素

这篇博客探讨了如何在JavaScript中找到数组中的重复元素。通过使用双重循环、数组方法如forEach、map和filter,以及通过对数组排序来检查相邻元素,提供了多种解决方案。文章还提到了效率问题,并推荐了一种利用Set直接获取重复元素的方法。
摘要由CSDN通过智能技术生成

题目描述
找出数组 arr 中重复出现过的元素
示例:

//输入
[1, 2, 4, 4, 3, 3, 1, 5, 3]
//输出
[1, 3, 4]

思路:新创建一个空数组储存结果,遍历原数组找出重复出现的元素,然后判断结果数组中是否存在该元素,不存在就push进去,存在就跳过判断下一个。
遍历数组

  • 可用两个for循环:用arr[i] ==arr[j]判断是否存在重复元素。
  • 也可用forEach()和for…in,map(),filter():用arr.indexOf(elem) ==arr.lastIndexOf(elem)判断查找的第一个元素和最后一个元素是否是同一个,进而判断重复元素是否存在。

判断结果数组中是否已存在元素

  • 用结果数组Arr.indexOf(elem)===-1来判断不存在。
  • 用原数组arr.indexOf(elem)===index,表示搜索到的第一个元素就是当前位置index的元素,证明结果中没有该元素。

方法一
利用两个for循环+Arr.indexOf(elem)===-1实现.

function duplicates(arr) {
   
    var Arr = [
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值