香草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"}
]
你能添加一个数据样本和预期结果吗?