標籤:[] var 利用 對象 value .so pre for repeat
var arr = [1,5,9,8,7,5,42,4,5]// 方法一:利用setconsole.group(‘set去重:‘)function noRepeat(arr){if(arr instanceof Array){var result = new Set(arr)arr = Array.from(result)return arr}}var myArr =noRepeat(arr)console.log(myArr)console.groupEnd()// 方法二:利用indexOfconsole.group(‘indexOf去重:‘)function noRepeat1(arr){var arr1 = []if(arr instanceof Array){for(var i=0; i<arr.length;i++){if(arr1.indexOf(arr[i])==-1){arr1.push(arr[i]);}}}return arr1;}var myArr1 = noRepeat1(arr)console.log(myArr1)console.groupEnd()// 方法三:先排序後然後再相鄰比較去重console.group(‘先利用sort排序,再判斷相鄰元素去重:‘)function order(value1,value2){return value1-value2}function noRepeat2(arr){arr.sort(order);var arr1 = [arr[0]];for(var i=1;i<arr.length;i++){if(arr[i]!==arr1[arr1.length-1]){arr1.push(arr[i])}}return arr1}var myArr2 = noRepeat2(arr)console.log(myArr2)console.groupEnd()console.group(‘1.建立一個新的數組存放結果 2.建立一個Null 物件‘)Array.prototype.unique=function(){var res=[];var json = {};for(var i=0;i<this.length;i++){if(!json[this[i]]){res.push(this[i]);json[this[i]]=1;}}return res;}var arr = [112,112,34,‘你好‘,112,112,34,‘你好‘,‘str‘,‘str1‘];console.log(arr.unique())console.groupEnd()
數組去重的方法