Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
香草JavaScript:如何搜索对象数组,关键是数组_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

香草JavaScript:如何搜索对象数组,关键是数组

香草JavaScript:如何搜索对象数组,关键是数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有一个对象数组。 每个对象都是{key,value} 对于每个对象键,都是一个由字符串组成的数组['foo','bar','baz']。 我想从数组中删除任何重复的['foo','bar','baz'],以便只对唯一值进行进一步处理 目前我正在做这件事 function removeArrayDupes(input){ var i = input.length; var previous; input.sort(); if (i){ while (--i){

我有一个对象数组。 每个对象都是
{key,value}
对于每个对象键,都是一个由字符串组成的数组
['foo','bar','baz']
。 我想从数组中删除任何重复的
['foo','bar','baz']
,以便只对唯一值进行进一步处理

目前我正在做这件事

function removeArrayDupes(input){
var i = input.length;
var previous;
input.sort();

 if (i){
        while (--i){
            var cur = input[i];
            if (!cur.key){
                // Remove empty records
                input.splice(i,1);
            } else {
                // Clear duplicates
                if ((previous) && (input[i].key) === previous){
                    input.splice(i,1);
                    regex= "/" + JSON.stringify(input[i].key) + "/g";
                    previous = input[i].key;
                } else {
                    previous = input[i].key;
                }
            }
        }
    }
}
我的问题是:如果副本数小于3,则不会删除单个副本

我的大脑很累,因为我看不出我把事情搞砸了

我可以多花一两个脑子来解决这个问题

我正在寻找使用香草JavaScript的解决方案。这不仅仅是为了让它发挥作用< 我想了解这个问题,以及是否有更好的算法

短暂性脑缺血发作

样本数据:

[
{key: ["foo","bar","baz"], value: "Some data"},
{key: ["foo","bar","baz"], value: "Some data"},
{key: ["foo","bar","baz"], value: "Some data"},
{key: ["baz","bar","foo"], value: "Some data"},
{key: ["bar","foo","baz"], value: "Some data"},
{key: ["bar","foo","bar"], value: "Some data"},
{key: ["bar","foo","bar"], value: "Some data"},
{key: ["bar","foo","bar"], value: "Some data"},
{key: ["bar","foo","bar"], value: "Some data"},
{key: ["baz","bar","foo"], value: "Some data"},
{key: ["baz","bar","foo"], value: "Some data"},
]
期望输出:

[
{key: ["foo","bar","baz"], value: "Some data"},
{key: ["baz","bar","foo"], value: "Some data"},
{key: ["bar","foo","baz"], value: "Some data"},
{key: ["bar","foo","bar"], value: "Some data"},
{key: ["baz","bar","foo"], value: "Some data"}
]

你能添加一个数据样本和预期结果吗?