方法一.
思路:创建一个新的空数组,循环遍历旧数组,用indexOf()方法,可以取得元素在数组中的位置,如果值为-1表示不存在。那么新数组用indexOf去获取老数组的每一个元素,如果值为-1表示不存在,就把他push到新数组里,最后输出新数组即去重后的数组
var arr=[24,56,74,89,24,56,78,09,24]; var new_arr=[]; for(var i=0;i<arr.length;i++){ if(new_arr.indexOf(arr[i])==-1){ new_arr.push(arr[i]); } } console.log(new_arr);
方法二.
var arr=[2,58,49,26,49];
var o={};
var new_arr=[];
for(var i=0;i<arr.length;i++){
var k=arr[i];
if(!o[k]){
o[k]=true;
new_arr.push(k);
}
}
alert(new_arr);
同样的原理,只是借用一个空对象来判断
注:第二种方法是把已经出现过的通过下标的形式存入到一个object内,下标引用要比用indexOf()搜索数组快得多,所以第一种方法很耗资源