前端常见算法整理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端常见算法整理相关的知识,希望对你有一定的参考价值。
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 }
还有一些其他算法,先总结到这
以上是关于前端常见算法整理的主要内容,如果未能解决你的问题,请参考以下文章