1、判断一个单词是否是回文?
思路:先把单词转换为数组,再通过reverse函数进行反转,进行比较。
var str="abababa"; function checkPalindrom(str){ return str==str.split('').reverse().join(''); } console.log(checkPalindrom(str)); var str="ababab"; function checkPalindrom(str){ return str==str.split('').reverse().join(''); } console.log(checkPalindrom(str));2、去掉一组整型数组中重复的值
var arr=[1,23,11,2,1,14,5,11,9,8]; function unique(arr){ var que=new Array(); for(var i=0;i<arr.length;i++){ if(que.indexOf(arr[i])==-1){ que.push(arr[i]); } } return que; } console.log(unique(arr));3、排序算法
冒泡排序
var arr=[1,23,11,2,1,14,5,11,9,8]; function bubbleSort(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ var temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } return arr; } console.log(bubbleSort(arr));快速排序
var arr=[1,23,11,2,1,14,5,11,9,8]; function quickSort(arr){ if(arr.length<=1){ return arr; } var left=[],right=[]; var index=Math.ceil(arr.length/2); var privot=arr.splice(index,1)[0]; for(var i=0;i<arr.length;i++){ if(arr[i]<privot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return quickSort(left).concat([privot],quickSort(right)); } console.log(quickSort(arr));4、不借助临时变量,进行两个整数的交换
function swap(a , b) { b = b - a; a = a + b; b = a - b; return [a,b]; } console.log(swap(2,4));5、随机生成指定字符串
function randomString(n) { var str = 'abcdefghijklmnopqrstuvwxyz9876543210'; var tmp = '', i = 0, l = str.length; for (i = 0; i < n; i++) { tmp += str.charAt(Math.floor(Math.random() * l)); } return tmp; } console.log(randomString(5));