JavaScript常用算法1

1、翻转字符串
function reverseString(str) {
    /** 1、先把字符串分割成数组
            2、用数组reverse()方法数组翻转
            3、把数组用join()方法拼接成字符串
            */
    return str.split('').reverse().join('');
}
reverseString('hello');
2、阶乘
function factorialize(num) {
    // 当num为1或0时,返回1
    if(num <= 1) {
        return 1;
    }else {
        // 否则返回num*自身的递归
        return num * factorialize(num - 1);
    }
}
factorialize(5);
3、回文数 (去掉空格、标点符号,大小写)
palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。
function palindrome(str) {
    str = str.replace(/[\W_]/gi,"");
    var str1 = str.split('').reverse().join('');
    if(str.toLowerCase() === str1.toLowerCase()) {
        return true;
    }else {
        return false;
    }
}
4、寻找最长的单词
返回提供的句子中最长的单词的长度。返回值应该是一个数字。
function findLongestWord(str) {
    // 将字符按空格分隔为数组
    var arr = str.split(' ');
    // 取得数组中的第一个值,默认为是最大值
    var max = arr[0];
    // for循环数组中的数据
    for (var i=1;i
5、设置首字母大写
返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。
function titleCase(str) {
    // 字符串转数组
    var arr = str.split(' ');
    var arrResult = [];
    // for循环取得数组中的单词
    for(var i=0;i
6、寻找数组中的最大值
在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。
function largestOfFour(arr) {
    var arrNew = [];
    // 遍历一维数组
    for(var i=0;i
7、确认末尾字符
检查一个字符串(str)是否以指定的字符串(target)结尾。

如果是,返回true;如果不是,返回false。
function confirmEnding(str, target) {
    var arr = str.split(' ');
    if(target.length > 1) {
        if(arr[arr.length-1].indexOf(target) > -1){
            return true;
        }else {
            return false;
        } 
    }else {
        if(target == str[str.length - 1]) {
            return true;
        }else {
            return false;
        }
    }
}

confirmEnding("Bastian", "n");

你可能感兴趣的:(JavaScript常用算法1)