思路一戏售、
從最右面也就是最后面的數(shù)組元素開始一步一步和它前面的元素做比較,當(dāng)兩者相等的時(shí)候谓传,把前者刪除掉蜈项,然后在讓下一個(gè)數(shù)組元素和之前的元素比較。
var arr1 = [1,2,3,0,9,7,6,3,2,5,3,2,0,8,9,7];//聲明一個(gè)數(shù)組
for(var i=arr1.length-1;i>=0;i--){ //遍歷這個(gè)數(shù)組
for(var j=i-1;j>=0;j--){ //遍歷最后一個(gè)元素之前的元素
if(arr1[i] == arr1[j]){ //永遠(yuǎn)讓最后一個(gè)元素去和前面的元素做比較续挟,如果相等的話,
arr1.splice(i,1); //就刪除最后這個(gè)元素紧卒,
break; //刪除之后,跳出這次循環(huán)诗祸,執(zhí)行下一次的循環(huán)
}
}
}
console.log (arr1); //打印出結(jié)果
思路二跑芳、
聲明個(gè)空數(shù)組,讓第一個(gè)數(shù)組里的元素和第二個(gè)數(shù)組里的元素做比較直颅,如果相等就不添加到第二個(gè)數(shù)組里博个,結(jié)束循環(huán),繼續(xù)下一次循環(huán)功偿,如果不相等盆佣,就添加到第二個(gè)數(shù)組里。
var arr1 = [1,2,2,6,4,7,8,2,1,6,7,0,9,8];
var arr2 = [];
for(var i=0;i<arr1.length;i++){ //遍歷第一個(gè)數(shù)組
var flag = true; //設(shè)置一個(gè)開關(guān)
for(var j=0;j<arr2.length;j++){ //遍歷第二個(gè)數(shù)組
if(arr[i] == arr2[j]){ //如果相等械荷,布爾值為假共耍,直接跳出,繼續(xù)下一次循環(huán)吨瞎,不相等往下執(zhí)行痹兜,添加到arr2空數(shù)組里;
flag = false;
bereak;
}
}
if(flag){ //如果flage為真颤诀,就執(zhí)行了里面的字旭。
arr2.push(arr1[i]); //添加到這個(gè)數(shù)組里
}
}
console.log(arr2); //打印出結(jié)果