从另一个数组(JavaScript)中删除重复的数组
如何删除此数据结构中的重复阵列 我明白了:从另一个数组(JavaScript)中删除重复的数组,javascript,arrays,nested,duplicates,Javascript,Arrays,Nested,Duplicates,如何删除此数据结构中的重复阵列 我明白了: ["5", "26", 300], ["7", "10", 20], ["3", "4", 30], ["5", "2", 52], ["9", "5", 300], ["3", "4", 30], ["5", "2", 52], ["5", "26", 300], ["1", "27", 250] 与: 我需要减少数据,删除重复的数组,并将结果提供给sankey graf。j
["5", "26", 300],
["7", "10", 20],
["3", "4", 30],
["5", "2", 52],
["9", "5", 300],
["3", "4", 30],
["5", "2", 52],
["5", "26", 300],
["1", "27", 250]
与:
我需要减少数据,删除重复的数组,并将结果提供给sankey graf。jsonData元素包含更多的数据,左侧、中部和右侧的结构略有不同。
决议:
我已经建立了自己的功能基于mmm的想法
function dedupe(all) {
var seen = [];
var res = [];
for (e in all){
var temp = [all[e].source, all[e].target, Number(all[e].link)];
if (seen.indexOf(temp.toString()) < 0) {
seen.push(temp.toString());
res.push(temp);
}
}
return res;
}
功能重复数据消除(全部){
var=[];
var-res=[];
对于(总共e个){
var temp=[all[e]。源,all[e]。目标,编号(all[e]。链接)];
if(参见.indexOf(temp.toString())<0){
seen.push(temp.toString());
res.push(温度);
}
}
返回res;
}
Than.您可以
筛选它们:
var a=[[1,2,3]、[1,2,3]、[4,5,6]、[4,5,6]、[foo'];
var tmp=[];
变量b=a.过滤器(功能(v){
if(tmp.indexOf(v.toString())<0){
tmp.push(v.toString());
返回v;
}
});
控制台日志(b)代码>您可以筛选它们:
var a=[[1,2,3]、[1,2,3]、[4,5,6]、[4,5,6]、[foo'];
var tmp=[];
变量b=a.过滤器(功能(v){
if(tmp.indexOf(v.toString())<0){
tmp.push(v.toString());
返回v;
}
});
控制台日志(b)其中的代码>被解析为字符串化数组,并使用一个集合删除重复项。它应该简单得多
Array.from(new Set(jsonData.map(JSON.stringify)), JSON.parse)
在这一过程中,解决了将阵列串接起来,并用一组数据删除重复项的问题。它应该简单得多
Array.from(new Set(jsonData.map(JSON.stringify)), JSON.parse)
请将数组添加为文本并添加代码。您具体遇到了哪些问题?一般的方法非常简单:迭代数组,只向输出数组中添加您尚未看到的值。请将数组添加为文本并添加代码。您具体遇到了什么问题?一般的方法非常简单:迭代数组,只向输出数组中添加您尚未看到的值。