function way1() { var newArr = [];//创建新数组 for(var i = 0; i < arr1.length; i++) { if(newArr.indexOf(arr1[i]) == -1) {//判断是否有这个值 newArr.push(arr1[i]); } } console.log(newArr) }
第二种:
1 2 3 4 5 6 7 8 9 10
functionway2(){ var arr2 = arr1.sort(); //对数组排序 var res = []; for(var i=0;i<arr2.length;i++){ if(arr2[i] !== res[res.length-1]){ res.push(arr2[i]); } } console.log(res); }
第三种:
1 2 3 4 5 6 7 8
var setObj = newSet(); for(var i = 0; i < arr1.length; i++) { setObj.add(arr1[i]); } var arr4 = []; for(var i of setObj){ arr4.push(i) }
第四种:
1 2 3 4 5 6 7 8 9 10 11 12
function way4(arr){ var res =[]; var obj = {}; for(var i=0;i<arr1.length;i++){ if(!obj[arr1[i]]){ res.push(arr1[i]); obj[arr1[i]] = 1; } } console.log(res) }
第五种:
1 2 3 4 5 6 7 8 9 10 11
function way5(){ var arr=[]; for(var i = 0;i<arr1.length;i++){ //判断当前位置的数字首次出现的位置是不是当前的位置 if(arr1.indexOf(arr1[i]) == i){ arr.push(arr1[i]) } } console.log(arr) }
第六种:
1 2 3 4 5 6 7 8 9 10 11
function way6() { var r = []; for (var i = 0;i < arr1.length; i++) { for (var j = i + 1; j < arr1.length; j++){ if (arr1[i] === arr1[j]) j = ++i; } r.push(arr1[i]); } console.log(r); }