前端常見演算法整理

來源:互聯網
上載者:User

標籤: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 }

還有一些其他演算法,先總結到這

 

前端常見演算法整理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.