<p>
<script type="text/javascript">// <![CDATA[
//数组去重
//1.双层循环
var arr = [1,3,5,3,2,4,5,1];
function qc(arr){
var brr = [];
for(var i = 0 ; i < arr.length ; i++){
for(var j = i+1 ; j < arr.length ; j++){
if(arr[i] === arr[j]){
j = ++i;
}
}
brr.push(arr[i]);
}
return brr;
}
//2.splice
function qc1(arr){
for(var i = 0 ; i < arr.length ; i++){
for(var j = i+1 ; j < arr.length ; j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
arr.length-1;
j--;
}
}
}
return arr;
}
//3.对象去重
function qc3(arr){
var brr = [];
var obj = {};
for(var i = 0 ; i < arr.length ; i++){
if(!obj[arr[i]]){
obj[arr[i]] = 1;
brr.push(arr[i]);
}
}
return brr;
}
//4.递归
function qc4(arr){
arr.sort(function(a,b){
return a-b;
})
function loop(index){
if(index>0){
if(arr[index] === arr[index-1]){
arr.splice(index,1)
}
loop(index-1);
}
}
loop(arr.length-1);
return arr;
}
//5.indexOf
function qc5(arr){
var brr = [];
for(var i = 0 ; i < arr.length; i++){
if( brr.indexOf(arr[i]) == -1 ){
brr.push(arr[i])
}
}
return brr;
}
//6.es6
arr = [...new Set(arr)];
console.log(arr)
// ]]></script>
</p>