標籤:reverse color length mic rom wap rand 其他 sort
1.迴文數
function isPalindromic(str){ return str == str.spilt("").reverse().join("");}
2.數組去重
function unique(arr){ var tempArr = []; for(var i = 0; i < arr.length; i++;){ if(tempArr.indexOf(arr[i]) == -1){ tempArr.push(arr[i]); } } return tempArr; }
3.字串中出現最多次數的字元和次數
1 function maxCount(str){ 2 var obj = {}; 3 for(var i = 0; i < str.length; i++){ 4 var char = str.charAt(i); 5 if(!obj[char]){ 6 obj[char] =1; 7 }else{ 8 obj[char]++; 9 }10 }11 console.log(obj)12 var max = 0;13 for(var key in obj){14 if(max < obj[key]){15 max = obj[key];16 console.log("出現最多字元是:" + key)17 console.log("出現的次數:" + max)18 }19 }20 }
4.冒泡排序
1 function bubbleSort(arr){ 2 for(var i = 0; i< arr.length; i++){ 3 for(var j = i + 1; j < arr.length; j++){ 4 if(arr[i] > arr[j]){ 5 var temp = arr[i]; 6 arr[i] = arr[j]; 7 arr[j] = temp; 8 } 9 }10 }11 return arr;12 }
5.不利用中間變數互動兩個
function swap(a,b){ b = b - a; a = a + b;//此時a=b b = a - b; return [a,b];}
6.斐波那契數組
1 function fibonacci(n){ 2 var fibArr = []; 3 var i = 0; 4 while(i<n){ 5 if(i<=1){ 6 fibArr.push(i); 7 }else{ 8 fibArr.push(fibArr[i-1] + fibArr[i-2]); 9 }10 i++;11 }12 return fibArr;13 }
7.產生隨機長度字串
1 function randomStr(len) { 2 var str = ‘abcdefghijklmnopqrstuvwxyz9876543210‘; 3 var tmp = ‘‘, 4 i = 0, 5 l = str.length; 6 for (i = 0; i < n; i++) { 7 tmp += str.charAt(Math.floor(Math.random() * l)); 8 } 9 return tmp;10 }
還有一些其他演算法,先總結到這
前端常見演算法整理