定义数组
var arrays_num = [30, 200, 100, 100, 35, 100, 100, 80, 100, 35, 100];
var arrays_new = new Array();
var obj_new = new Object();
ex1:遍历老数组的值,在新数组如果不包含则push这个值
for(var i=0;i<arrays_num.length;i++){
if(arrays_new==null){
arrays_new[0]=arrays_num[i];
}else if(arrays_new.indexOf(arrays_num[i])==-1){
arrays_new.push(arrays_num[i]);
}
}
document.write('去重以后的数组:'+arrays_new);
ex2:把数组元素存进Object,利用对象的属性去重复
document.write("去重之前的数组:"+arrays_num);
for(var i=0;i<arrays_num.length;i++){
if(!obj_new.hasOwnProperty(arrays_num[i])){
obj_new[(arrays_num[i])]=1;
}
}
for(var name in obj_new){
arrays_new.push(name);
}
document.write("去重以后的数组:"+arrays_new);
ex3:forEach() 对每一项执行回调函数。例如打印数组每一项
function printArr(item,index,array){
if(arrays_new==null){
arrays_new[0]=item;
}else if(arrays_new.indexOf(item)==-1){
arrays_new.push(item);
}
}
arrays_num.forEach(printArr);
document.write('去重之后的数组:'+arrays_new);
ex4:splice(index,num) sort()排序其实可有可无。
function sortFn(a, b) {
if (a < b) return -1;
if (a == b) return 0;
if (a > b) return 1;
}
arrays_num.sort("排序之后的数组"+sortFn);
for(var i=0;i<arrays_num.length;i++){
for(var j=i+1;j<arrays_num.length;j++){
if(arrays_num[i]==arrays_num[j]){
arrays_num.splice(j,1);
j--;
}
}
}
document.write("去重之后的数组:"+arrays_num);