第一种方法:
思路:
1.创建一个新的数组存放结果
2.创建一个空对象,
3.将数组中的元素作为空对象的属性并对其赋值,每次取出一个元素与对象进行对比,然后到对象中去访问这个属性,
如果能访问到值,则说明重复。则把它存放到结果数组中。
function delRepeat(arr) { var arrNew=[]; var o={}; for (var i = 0; i < arr.length; i++) { var key=arr[i]; if(!o[key]){ o[key]=1; arrNew.push(key); } } return arrNew; } var arr=[1,2,2,1,5,6,6,8]; console.log(delRepeat(arr));
第二种方法:使用ES5中的indexOf方法
function delRepeat( array ) { var resArray = [], i = 0; for ( ; i < array.length; i++ ) { if ( resArray.indexOf( array[ i ] ) == -1 ) { resArray.push( array[ i ] ); } } return resArray; }