1.判断一个单词是否是回文(比如 mamam、redivider)function checkPalindrom(str) { return str == str.split('').reverse().join('');}console.log(checkPalindrom('mamam')); //true console.log(checkPalindrom('guojing')); //false
2.去掉一整型数组重复的值比如输入: [1,13,24,11,11,14,1,2] 输出: [1,13,24,11,14,2]考察对Object的使用,利用key来进行筛选const unique = function(arr) { let hashTable = {}; let data = []; for(let i=0,l=arr.length;i
3.统计一个字符串出现最多的字母输入 : afjghdfraaaasdenas 输出 : afunction findMaxDuplicateChar(str) { if(str.length == 1) { return str; } let charObj = {}; for(let i=0;i= maxValue) { maxChar = k; maxValue = charObj[k]; } } return maxChar;}module.exports = findMaxDuplicateChar;
4.排序算法 动画演示地址:http://math.hws.edu/eck/jsdemo/sortlab.htmlfunction mySort(arr) { for(let i = 0,l=arr.length;iarr[j]) { let tem = arr[i]; arr[i] = arr[j]; arr[j] = tem; } } } return arr;}module.exports = mySort;
5.不借助临时变量,进行两个整数的交换输入 a = 2, b = 4 输出 a = 4, b =2{ b = b-a; a = b+a; b = a-b; }
斐波那契数列的曲线:0、1、1、2、3、5、8、13、21、34、……
6.使用canvas 绘制一个有限度的斐波那契数列的曲线https://codepen.io/Jack_Pu/pen/LRaxZBfunction getFibonacci(n) { var fibarr = []; var i = 0; while(i
参考:
http://web.jobbole.com/88471/
http://math.hws.edu/eck/jsdemo/sortlab.html(排序算法演示)
https://codepen.io/Jack_Pu/pen/LRaxZB(canvas绘制曲线)