JavaScript 使用自定义函数从数组中删除重复项

JavaScript 使用自定义函数从数组中删除重复项

在这个问题陈述中,我们的目标是编写一个算法,使用Javascript的功能来删除数组中的重复项。

理解问题陈述

在上述问题陈述中,我们需要创建一个函数,通过该函数我们可以接受一个数组作为参数,并给出一个新的数组来存储给定输入数组中的唯一项,而不包括重复的值。例如 – 假设我们有一个数组[0, 0, 2, 2, 3, 3],那么在删除重复的数字后,我们将得到一个新的数组[0, 2, 3]。

给定问题的逻辑

算法将被提供以遍历输入数组中的元素,然后我们将把这些项目添加到一个新建的唯一项数组中,如果该项尚未添加。我们将使用Javascript的map函数来提供有效的时间复杂度。

步骤

步骤1 :定义一个函数,用于从数组中删除重复的数字,并返回一个有唯一元素的新数组作为输出。

步骤2 :用于存储输入数组的唯一元素的新数组。

步骤3 :我们将使用map方法来存储我们之前在数组中见过的项。

步骤4 :使用for循环来遍历输入数组中的项。

步骤5 :检查条件,判断数组项之前是否见过。如果见过,则将其设置为true,并将所有唯一项推入结果数组中。

示例

//function to extract the duplicate items from the array
function removeDuplicateItems(array) {
  var result = [];
  var saw= new Map();
  for (let i = 0; i < array.length; i++) {
   if (!saw.has(array[i])) {
     saw.set(array[i], true);
     result.push(array[i]);
   }
  }
  return result;
}

const array = [11, 21, 21, 31, 41, 41, 51];
console.log(removeDuplicateItems(array));

输出

[ 11, 21, 31, 41, 51 ]

复杂度

算法的时间复杂度为O(n),其中n是输入数组的长度。因为我们已经遍历了数组中的元素来检查数组中的重复项。

结论

在上述函数中,我们已经实现了一个用于从数组中删除相同项的代码。这个任务的时间复杂度可以根据数组的大小达到O(n)。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程