javascript - 从数组数组中删除重复条目(javascript)

标签 javascript arrays algorithm

我正在尝试使用 javascript 删除数组数组中的重复项,其中重复项将始终位于长度为 1 的数组中。一个示例是

[  [23, 46, 43, 44]
   [46]
   [52, 51]       
   [53]
   [44]
   [55, 66] ]

在这种情况下,我想删除数组 [46] 和 [44],但保留 [53]。这些单项重复数组的数量是可变的。想法?

编辑:这是我最终所做的工作,其中 stacks_array 是数组的数组。

function stacks_sanatizer(stacks_array){

    var output_array = [],      
    used_cards =[];
    used_cards[70] = undefined;     

    for (each_stak in stacks_array){
        if((stacks_array[each_stak].length > 1) && (stacks_array[each_stak] !== "")){
            for (i=0; i<stacks_array[each_stak].length;i++){
                var card_number = stacks_array[each_stak][i].attrs.fill.substr(27).replace('.jpg)','');
                used_cards[card_number - 1] = true;
            }
        }
    }

    for (each_stak in stacks_array){
        if(stacks_array[each_stak] !== ""){
            if(stacks_array[each_stak].length === 1){
                card_number = stacks_array[each_stak][0].attrs.fill.substr(27).replace('.jpg)','');
                if(used_cards[card_number - 1] !== true){
                    output_array.push(stacks_array[each_stak]);
                    used_cards[card_number - 1] = true;
                }
            }
            else{
                output_array.push(stacks_array[each_stak]);
            }
        }
    }

    //delete doubles    
    for(each_pile in output_array){ 
        output_array[each_pile] = output_array[each_pile].filter(function(elem, pos) {
            return output_array[each_pile].indexOf(elem) == pos;
        })  
    }
    return output_array;
}

最佳答案

完成这个的伪代码:

  1. 遍历外部数组:对于每个内部数组,将数字散列到散列表中。
  2. 当你将它散列到表中时,如果它存在一个条目,检查该数组的长度是否 为 1,如果是,则移除数组。
  3. 否则,将条目输入哈希表并保留该内部数组。

希望这有帮助:)

关于javascript - 从数组数组中删除重复条目(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706509/

相关文章:

java - 即使在使用全局静态数组之后,我的数组值在 java 中也在发生变化。如何克服呢?

javascript - Array map 和 rxjs map 有什么区别

algorithm - 寻求保留重复项的合并算法

arrays - 什么是 bash 中 Perl 列表的好等价物?

algorithm - 绘制别名、像素完美的 1px 样条曲线(特别是 Catmull-Rom)

javascript - 协助伪编码

javascript - 无法从 Thinkster MEAN Stack 教程中获得工作支持

javascript - '未捕获的语法错误 : Unexpected token <' in Node. js

javascript - 通过对象 bool 属性的嵌套数组过滤对象数组

javascript - 单击工具提示时更改 Bootstrap 的文本