初級演算法---陣列(一) :陣列刪除重複項
阿新 • • 發佈:2019-01-31
最近才剛開始寫起演算法,也不知道自己寫的對不對,每天自己小練一次,希望能有個進步
給定 nums = [0,0,1,1,1,2,2,3,3,4], 函式應該返回新的長度 5, 並且原陣列 nums 的前五個元素被修改為 0, 1, 2, 3, 4。
var sum= Splice([1,1,2,52,3,4,5,6]); console.log(sum); console.log(sum.length);
方法一: function Splice(nums){ if (nums){ if (nums instanceof Array){ var arr =[];var s =nums.sort(function (x,x1) { return x-x1; }); for (var i=0; i<nums.length; i++){ if (arr.indexOf(s[i])==-1){ arr.push(nums[i]); } } return arr; } } }
方法二//
var arr = [1,1,2,2,3,3,2,4,4,6,7,9]; //方法1 var arrN = arr; for(var i=0; i<arr.length;i++){ var flag = []; for(var j=0; j<arrN.length;j++){ if(arr[i] == arrN[j]){ flag.push(j); } } if(flag.length!=1){ for(var j=1; j<flag.length;j++){ arrN.splice(flag[j],1); } } } console.log(arrN);