数组去重:
function unique2(array){ // 数组去重
var n = []; //一个新的临时数组
//遍历当前数组
for(var i = 0; i < array.length; i++){
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if (n.indexOf(array[i]) == -1) {
n.push(array[i]);
}
}
return n;
}
let result1 = unique2(ary);
console.log(result1)
数组对象去重:
var arr = [{name:'zheng'},{name:'hai'},{name:'xin'},{name:'zheng'},{name:'zheng'},{name:'hai'},{name:'xin'},{name:'zheng'}];
function unique(array){ // 对象去重方法
var allArr = []; //建立新的临时数组
for(var i=0;i<array.length;i++){
var flag = true;
for(var j=0;j<allArr.length;j++){
if(array[i].name== allArr[j].name){
flag = false;
};
};
if(flag){
allArr.push(array[i]);//遍历数组arry当flag为true时候放进临时数组,当flag为false的时候不放临时数组中这个和刚才的数组去重一个原理,只不过要添加一个flag标记是否放入数组中达到去重的效果
};
};
return allArr;
}
var result = unique1(arr);