相信大家在保存做校验的时候经常会遇到需要判断有没有重复数据的情况,如果说只是对数组的去重,那方法很简单:
-
定义一个新数组,遍历源数组,值不在新数组就push进该新数组中:
function unique(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } return temp; } var arr = [1,'aaa',2,4,5,2,'aaa',5,6,5]; console.log(unique(arr)); // [1, "aaa", 2, 4, 5, 6]
- 数组下标法
function unique(array){ var temp = []; for(var i = 0; i < array.length; i++) { //如果当前数组的第i项在当前数组中第一次出现的位置是i,才存入数组;否则代表是重复的 if(array.indexOf(array[i]) == i){ temp.push(array[i]) } } return temp; } var arr = [1,2,"2",4,9,"a","a