方法一.
思路:创建一个新的空数组,循环遍历旧数组,用indexOf()方法,可以取得元素在数组中的位置,如果值为-1表示不存在。那么新数组用indexOf去获取老数组的每一个元素,如果值为-1表示不存在,就把他push到新数组里,最后输出新数组即去重后的数组
var arr=[24,56,74,,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中文网!
Copyright © 2019- areg.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务