先上Js的簡化版本的數組去重,須要M層控制數據javascript
大媽html
1 var aa = [1,3,4,5,6,23,523,6,123,'1',12,'劉','劉','劉','翔',12,123,214,'1','3','劉翔','劉翔']; 2 3 function arr(arr){ 4 var result = []; 5 for (var i=0;i<arr.length;i++) { 6 if (result.indexOf(arr[i]) == -1) { 7 result.push(arr[i]) 8 } 9 } 10 console.log(result); 11 } 12 arr(aa);
再上一個M層控制數據的angular的簡化版數組去重java
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8"> <title>自定義數組去重</title> </head> <body> <div ng-controller="test"></div> <script type="text/javascript" src="angular.min.js" ></script> <script> var m1 = angular.module('myApp',[]); //建立自定義服務 m1.factory('myRandom',function(){ return{ show:function(num1,num2){ //1.每次生成一個可重複的(0-num2)的隨機數iNow存入長度爲num1的數組中 var arr = []; for(var i=0;i<num1;i++){ var iNow = parseInt(Math.random()*num2); arr.push(iNow); }; //2.遍歷,去重 arr.indexOf(subString)若是在arr中沒找到subString則返回 -1。 var result = []; for (var i=0;i<arr.length;i++) { if (result.indexOf(arr[i]) == -1) { result.push(arr[i]) } }; //3.數組排序 result.sort((n1,n2)=>{ return n1 - n2; }); //4.返還結果 return `初始數組:${arr}<br/>去重數組:${result}`; } } }); //自定義服務的調用有三個點:1.服務是已經定義好的 2.自定義服務的依賴順序必須寫在系統服務的後面 3.自定義服務起名時不須要加$ m1.controller('test',['$scope','myRandom',function($scope,myRandom){ document.write(myRandom.show(20,20)); }]); </script> </body> </html>
最後這個是angular版本的v層控制數組的方法數組
1 <!DOCTYPE html> 2 <html ng-app="myApp"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>自定義數組去重</title> 6 </head> 7 <body> 8 <div ng-controller="test"> 9 10 <p>1.隨機數組去重</p> 11 數組長度:<input type="number" type="text" ng-model="num1"/> 12 取數範圍(0,n):<input type="number" type="text" ng-model="num2"/> 13 <input type="button" ng-click="click()" value="生成數組"/> 14 <p>獲取數組:<span ng-bind="arr"></span></p> 15 <p>數組去重:<span ng-bind="result"></span></p> 16 17 <hr /> 18 19 <p>2.指定數組去重</p> 20 輸入數組:<input type="text" ng-model="str"/>(輸入格式:1,1,2,2,3,3,了,了)注意:請使用英文逗號 21 <input type="button" ng-click="click2()" value="數組去重"/> 22 <p>數組去重:<span ng-bind="result2"></span></p> 23 </div> 24 <script type="text/javascript" src="angular.min.js"></script> 25 <script> 26 var m1 = angular.module('myApp',[]); 27 //隨機數組去重 28 m1.factory('myArr',()=>{ 29 return{ 30 show:(num1,num2)=>{ 31 //每次生成一個可重複的(0-num2)的隨機數iNow存入長度爲num1的數組中 32 var arr = []; 33 for(var i=0;i<num1;i++){ 34 var iNow = parseInt(Math.random()*num2); 35 arr.push(iNow); 36 }; 37 return arr; 38 } 39 } 40 }); 41 m1.factory('myResult',()=>{ 42 return{ 43 //遍歷,去重 arr.indexOf(subString)若是在arr中沒找到subString則返回 -1。 44 norepeat:(arr)=>{ 45 var result = []; 46 for (var i=0;i<arr.length;i++) { 47 if (result.indexOf(arr[i]) == -1) { 48 result.push(arr[i]) 49 } 50 }; 51 //數組排序 52 result.sort((n1,n2)=>{ 53 return n1 - n2; 54 }) 55 return result; 56 } 57 } 58 }); 59 //指定數組去重 60 m1.factory('fixArr',()=>{ 61 return{ 62 remove:(str)=>{ 63 var arr2 = str.split(','); 64 var result = []; 65 var a = arr2.length; 66 for (var i=0;i<a;i++) { 67 if (result.indexOf(arr2[i]) == -1) { 68 result.push(arr2[i]) 69 } 70 } 71 return result; 72 } 73 } 74 }); 75 m1.controller('test',['$scope','myArr','myResult','fixArr',($scope,myArr,myResult,fixArr)=>{ 76 //獲取隨機數和範圍 77 $scope.num1 = ''; 78 $scope.num2 = ''; 79 //隨機數組去重 80 $scope.click = ()=>{ 81 if($scope.num1 == '' && $scope.num2 == ''){ 82 $scope.arr = '請輸入長度和範圍'; 83 }else{ 84 $scope.arr = myArr.show($scope.num1,$scope.num2); 85 $scope.result = myResult.norepeat($scope.arr); 86 } 87 }; 88 //固定數組去重 89 $scope.str = ''; 90 $scope.click2 = ()=>{ 91 if($scope.str == ''){ 92 $scope.result2 = '請輸入數組'; 93 }else{ 94 $scope.result2 = fixArr.remove($scope.str); 95 } 96 }; 97 }]); 98 99 </script> 100 101 </body> 102 </html>