gpt4 book ai didi

JavaScript:删除数组中的重复项

转载 作者:数据小太阳 更新时间:2023-10-29 04:34:52 25 4
gpt4 key购买 nike

目前正在使用 JavaScript,我需要遍历一个数组以确定是否有重复的数组,然后删除那些重复的数组。在这种情况下,运行时至关重要,所以我想知道最有效的方法是什么。

在这种情况下是否需要使用哈希表?其范围是散列每个序列,然后使用散列来确定该序列是否再次出现。因此,每个序列都是主数组中的一个数组,任何重复项都是同一数组中的其他数组。此外,所有单独的数组本身保持有序是非常重要的(即单独数组中的元素必须始终保持其位置)。此外,单个数组中的所有元素都是字符串值。

例子:假设有一个数组A,其元素依次是以下数组:

A[0] = ["one", "two", "three", "four"]
A[1] = ["two", "one", "three", "four"]
A[2] = ["one", "two", "three", "four"]

在上面的例子中,A[0] 和 A[2] 是重复的,所以函数应该返回 A[0] 和 A[1],这样同一个数组只有一个实例。

最佳答案

保留一个对象,其中的键是每个数组的连接元素。如果找不到键,则将数组添加到输出数组并将键添加到对象。

var hash = {};
var out = [];
for (var i = 0, l = A.length; i < l; i++) {
var key = A[i].join('|');
if (!hash[key]) {
out.push(A[i]);
hash[key] = 'found';
}
}

DEMO

关于JavaScript:删除数组中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26260449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com