使用 JavaScript 中的自定义函数从数组中删除重复项
javascriptweb developmentfront end technologyobject oriented programming更新于 2024/12/11 23:40:17
在此问题陈述中,我们的目标是借助 JavaScript 功能编写一个算法,使用函数从数组中删除重复项。
理解问题陈述
在上述问题陈述中,我们必须创建一个函数,通过该函数我们可以接受数组作为参数,并给出一个新数组来存储给定输入数组中的唯一项,但不包含相同的值。例如 - 假设我们有一个数组 [0, 0, 2, 2, 3, 3],因此在删除重复的数字后,我们将有一个新的数组 [0, 2, 3]。
给定问题的逻辑
将提供算法来迭代输入数组中的元素,然后如果尚未添加项,我们必须将项添加到新创建的唯一项数组中。我们将使用 Javascript 的 map 函数来提供有效的时间复杂度。
算法
步骤 1:定义一个函数来从数组中删除重复的数字,并返回一个新的唯一元素数组作为输出。
步骤 2:将输入数组的新唯一元素数组存储为结果数组。
步骤 3:我们将使用 map 方法将我们之前在数组中看到的项目存储在数组中。
步骤 4:使用 for 循环遍历输入数组项。
步骤 5:检查条件,确定数组项是否之前出现过。如果发现,则将其设置为 true 并将所有唯一项推送到结果数组中。
示例
//函数用于从数组中提取重复项
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) 时间复杂度实现,具体取决于数组的大小。
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

