1: 判断一个字符串是否回文
回文是指类似于“上海自来水来自海上”或者“madam”,从前往后和从后往前读,字符串的内容是一样的,称为回文。判断一个字符串是否是回文有很多种思路:

1: 创建一个与原字符串前后倒过来的新字符串,比较二者是否相等,如果相等则是回文

1.1 利用中介Array.reverse()的反转数组的特性

function isPalindRome(str) {    return str.split('').reverse().join('') === str;}console.log(isPalindRome('madam')); //trueconsole.log(isPalindRome('mada')); //false

1.2 不利用任何方法,手动创建新字符串

function isPalindRome(str) {    let newStr = '';    for(let i = str.length - 1; i >= 0; i --){        newStr = newStr + str[i];    }    return newStr === str;}console.log(isPalindRome('madam'));console.log(isPalindRome('mada')); 

2: 从字符串的开始,依次比较字符串组是否相等,逐渐往中间收,如果全部相等,则是回文

function isPalindRome(str) {    let length = str.length;    for(let i = 0; i <= Math.floor(str.length / 2); i ++){        if(str[i] !== str[length - 1 - i]){            return false;        }    }    return true;}console.log(isPalindRome('aabbaa')); //trueconsole.log(isPalindRome('aabaa')); //trueconsole.log(isPalindRome('abb')); //false

2: 数组去重
3: 统计字符串中出现最多次数的字符及其次数
4: 随机生成指定长度字符串
5: 二分查找
6: 使用闭包获取每个li的index