消除多维数组中的重复数
//思考:先考虑一维数组,然后在判断一维数组里可能会出现多维数组的情况,然后用递归,处理每一个arr【i】 是数组的情况
//方法一:
var num=["a","a",[1,1,1,1,1],[2,2,2,2]]
function delerepeat(arr)
{
if(arr instanceof Array == false)
{
return;
}
var newarr=[];
for(var i=0;i<arr.length;i++)
{
if(arr[i] instanceof Array)
{
newarr.push(delerepeat(arr[i]));
}else
{
var flag=true;
for(var j=i+1;j<arr.length;j++)
{
if(arr[i]==arr[j]){
flag=false;
break;
}
}
if(flag)
{
newarr.push(arr[i]);
}
}
}
return newarr;
}
alert(delerepeat(num));
//方法二:
思考:利用一个数组与另外一个数组比较,如果要插入的数和newarr中数组元素不一样(或者说不存在),就插入,
var num=["a","a",[1,1,1,1,1],[2,2,2,2]];
alert(delerepeat(num));
function delerepeat(arr)
{
var newarr=[];
for(var i=0;i<arr.length;i++)
{
if(arr[i] instanceof Array)
{
newarr.push(delerepeat(arr[i]));
}else
{
var a=checkNum(newarr,arr[i]);
if(a==true)
{
newarr.push(arr[i]);
}
}
}
return newarr;
}
function checkNum(newarr,num)
{
var flag=true;
for(var i=0;i<newarr.length;i++)
{
if(newarr[i]==num)
{
flag=false;
break;
}
}
return flag;
}