日期:2014-05-16  浏览次数:20388 次

二维数组去掉相同的元素,不考虑顺序 ,有什么好办法吗
比如这个数组 var a=[["1","3","10"],["3","1","10"],["9","2"],["1","10","3"]];

我想去掉["1","3","10"],["3","1","10"]["1","10","3"] 这3个元素,有什么好办法吗

------解决方案--------------------
可不可以这样考虑:找这些数的区别性。比方说三个数(两个数的和三个数的可以区分开来比较)的和以及三个数的积的值都一样,这样表示一致。
当然这个需要数学证明找规律。楼主自己努力啊……
------解决方案--------------------
xy与xz与yz比较

两两求积,如何?
------解决方案--------------------
抛砖引玉
var a=[["1","3","10"],["3","1","10"],["9","2"],["1","10","3"]];

var b = [];
for(var i in a) b.push(a[i].sort().join(','));
b.sort();
var c = [];
for(i=1; i<b.length; i++) {
  if(b[i] != b[i-1]) c.push(b[i]);
}
for(i in c) c[i] = c[i].split(',');
alert(c);