首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在数组中查找重复项的JavaScript函数将结果打印两次。如何修复?

要修复在数组中查找重复项的JavaScript函数将结果打印两次的问题,可以使用以下方法:

方法一:使用Set数据结构

  1. 创建一个空的Set对象,用于存储数组中的元素。
  2. 遍历数组,将每个元素添加到Set中。
  3. 在添加元素时,判断Set中是否已经存在该元素,如果存在,则说明是重复项,可以将其打印出来。
  4. 最后,将Set转换为数组,并返回结果。

示例代码如下:

代码语言:txt
复制
function findDuplicates(arr) {
  var set = new Set();
  var duplicates = [];

  for (var i = 0; i < arr.length; i++) {
    var num = arr[i];
    if (set.has(num)) {
      duplicates.push(num);
    } else {
      set.add(num);
    }
  }

  return duplicates;
}

var arr = [1, 2, 3, 4, 4, 5, 6, 6];
var result = findDuplicates(arr);
console.log(result); // [4, 6]

方法二:使用对象字面量

  1. 创建一个空对象,用于存储数组中的元素。
  2. 遍历数组,将每个元素作为对象的属性名,属性值设置为true。
  3. 在设置属性值时,判断对象中是否已经存在该属性,如果存在,则说明是重复项,可以将其打印出来。
  4. 最后,将对象中的属性名转换为数组,并返回结果。

示例代码如下:

代码语言:txt
复制
function findDuplicates(arr) {
  var obj = {};
  var duplicates = [];

  for (var i = 0; i < arr.length; i++) {
    var num = arr[i];
    if (obj[num]) {
      duplicates.push(num);
    } else {
      obj[num] = true;
    }
  }

  return duplicates;
}

var arr = [1, 2, 3, 4, 4, 5, 6, 6];
var result = findDuplicates(arr);
console.log(result); // [4, 6]

这两种方法都可以修复在数组中查找重复项的JavaScript函数将结果打印两次的问题,并且具有较高的效率和可读性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券