

方法一.
思路:创建一个新的空数组,循环遍历旧数组,用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];<br>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()搜索数组快得多,所以第一种方法很耗资源
希望本文所述对大家JavaScript程序设计有所帮助。
更多javascript数组去重方法分析相关文章请关注PHP中文网!
