1.判断一个单词是否是回文?
回文是指把相同的词汇或句子,在上下文中调换位置或颠倒过来,产生收尾回环的情趣叫做回文
function checkPalindrom(str){
return str === str.split('').reverse().join('');
}
2.去掉一组整型数组重复的值
考察对Object的使用,利用key来进行筛选
let unique = function(arr){
let hashTable = {};
let data = [];
for(let i =0;i<arr.length;i++){
if(!hashTable[arr[i]]){//hashTable不存在key
hashTable[arr[i]] = true;
data.push(arr[i])
}
}
return data
}
3.统计一个字符串出现最多的字母
给出一段连续的英文字符串,找出重复出现次数最多的字母
输入:afjghdfraaaaasdenas
输入:a
function findMaxDuplicateChar(str) {
if(str.length == 1) {//字符串只有1个值的话就原地返回
return str;
}
//获取每个字符所占个数
let charObj = {};
for(let i=0;i<str.length;i++) {
if(!charObj[str.charAt(i)]) {
charObj[str.charAt(i)] = 1;//str.charAt 返回指定位置的字符
}else{
charObj[str.charAt(i)] += 1;
}
}
//对比个数取最大字符
let maxChar = '',
maxValue = 1;
for(var k in charObj) {
if(charObj[k] >= maxValue) {
maxChar = k;
maxValue = charObj[k];
}
}
return maxChar;
}
4.排序算法
冒泡算法
function bubbleSort(arr){
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let tem = arr[i];
arr[i] = arr[j];
arr[j] = tem;
}
}
}
return arr;
}
5.不借助临时变量,进行两个整数的交换
输入a = 2,b=4 输出 a =4,b = 2
function swap(a,b){
b = b - a ;
a = a + b;
b = a - b;
return [a,b];
}