<!-- 第一种 --> <script type="text/javascript"> var arr = [10,20,8,9,3,2,1,2,2,2,8,20,10]; function superSort(arr){ function sort(num1,num2){ return num2 - num1; } arr.sort(sort); for(var i = 0,len = arr.length; i < len; i ++){ for(var j = i + 1;j < arr.length;j ++){ if(arr[j] == arr[i]){ arr.splice(j,1); j --; } } } } superSort(arr); alert(arr); </script>
<!-- 第二种 --> <script> var arr = ['a','bd','d','e','d','a','b','f','g','bc','b','f','c']; var arr2 = []; arr.forEach( function(v) { if (arr2.indexOf(v)==-1) { arr2.push(v); } }); console.log(arr2); </script>
<!-- 第三种 --> <script> var arr1 = [1,2,3,4,5,2,1,3,8,9,10]; function fn(arr){ var res =[]; var res1 = {}; for(var i=0;i<arr.length;i++){ if(!res1[arr[i]]){ res.push(arr[i]);
res1[arr[i]] = 1;
} } return res; } fn(arr1); console.log(fn(arr1)); </script>
<!-- 第四种 --> <script> // var set = new Set([1,2,3,4,5,4,3,2,1]); // console.log( Array.from( set ) ) // 两种都是set去重的方法,写法不同 console.log( [... new Set([1,2,3,4,5,4,3,2,1]) ] ); </script>