Java和javascript当年javascript为了抱Java大腿恬不知耻的让自己变成了Java的干儿子。可如今javascript来了个咸鱼翻身,几乎要统治web领域,Nodejs,ReactNative的出现使得javascript在后端和移动端都开始占有了一席之地JavaScript可谓风头无两,已经坐上了头把交椅。
Q判断一个单词是否是回文?回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。比如mamamredivider.functioncheckPalindrom(str){returnstr==str.split().reverse().join();}Q去掉一组整型数组重复的值道问题出现在诸多的前端面试题中,主要考察个人对Object的使用,利用key来进行筛选。/***uniqueanarray**/functionunique(arr){varhashTable={};vardata=[];for(vari=0,l=arr.length;il;i++){if(!hashTable[arr[i]]){hashTable[arr[i]]=true;data.push(arr[i]);}}returndata;}Q统计一个字符串出现最多的字母前面出现过去重的算法,这里需要是统计重复次数functionfindMaxDuplicateChar(str){if(str.length==1){returnstr;}letcharObj={};for(leti=0;istr.length;i++){if(!charObj[str.charAt(i)]){charObj[str.charAt(i)]=1;}else{charObj[str.charAt(i)]+=1;}}letmaxChar=,maxValue=1;for(varkincharObj){if(charObj[k]=maxValue){maxChar=k;maxValue=charObj[k];}}returnmaxChar;}Q排序算法如果抽到算法题目的话,应该大多都是比较开放的题目,不限定算法的实现,但是一定要求掌握其中的几种,所以冒泡排序,这种较为基础并且便于理解记忆的算法一定需要熟记于心。冒泡排序算法就是依次比较大小,小的的大的进行位置上的交换。functionbubbleSort(arr){for(leti=0,l=arr.length;il-1;i++){for(letj=i+1;jl;j++){if(arr[i]arr[j]){lettem=arr[i];arr[i]=arr[j];arr[j]=tem;}}}returnarr;}除了冒泡排序外,其实还有很多诸如插入排序,快速排序,希尔排序等。每一种排序算法都有各自的特点。全部掌握也不需要,但是心底一定要熟悉几种算法。比如快速排序,其效率很高,而其基本原理如图(来自wiki):算法参考某个元素值,将小于它的值,放到左数组中,大于它的值的元素就放到右数组中,然后递归进行上一次左右数组的操作,返回合并的数组就是已经排好顺序的数组了。functionquickSort(arr){if(arr.length=1){returnarr;}letleftArr=[];letrightArr=[];letq=arr[0];for(leti=1,l=arr.length;il;i++){if(arr[i]q){rightArr.push(arr[i]);}else{leftArr.push(arr[i]);}}return[].concat(quickSort(leftArr),[q],quickSort(rightArr));}Q不借助临时变量,进行两个整数的交这种问题非常巧妙,需要大家跳出惯有的思维,利用a,b进行置换。主要是利用+–去进行运算,类似a=a+(b–a)实际上等同于最后的a=b;functionswap(a,b){b=b-a;a=a+b;b=a-b;return[a,b];}Q递归递归是一种思想:类似于我们的计数器,开闭原则,递归的实质就是函数自己调用自己,递归注意点:递归必须有跳出条件,否则是死循环。用递归求1+和。functionSumNum(num){if(num){return0;}returnnum+SumNum(num-1);}Q回掉什么情况下,使用回调函数,回调函数一般是用于定义一个规则来使用的,规则的传递只能通过函数实现,通过变量无法达成,所以我们需要传递规则的时候必须使用回调函数。functionselectAll(par1,par2,callback){returncallback(par1,par2);}functioncallback(par1,par2){returnpar1+par2;}长按识别北京治疗白癜风到哪家医院北京白癜风专科