美文网首页
JavaScript常用算法1

JavaScript常用算法1

作者: 方千竹 | 来源:发表于2019-08-13 23:15 被阅读0次
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<arr.length;i++) {
        // 将max的值跟数组中的值做比较
        if(max.length < arr[i].length) {
            // 把值大的赋值给max变量
            max = arr[i];
        }
    }
    console.log(max);
    return max.length;
}

findLongestWord("The quick brown fox jumped over the lazy dog");
5、设置首字母大写
返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写。
function titleCase(str) {
    // 字符串转数组
    var arr = str.split(' ');
    var arrResult = [];
    // for循环取得数组中的单词
    for(var i=0;i<arr.length;i++) {
        // 将数组中的单词统一转换为小写
        var strValue = arr[i].toLocaleLowerCase();
        // 把每个单词的首字母替换成大写
        var temp = strValue.replace(strValue[0],strValue[0].toLocaleUpperCase());
        // 将单词存储数组中
        arrResult.push(temp);
        if((arr.length - 1) != i){
            arrResult.push(' ');
        }
    }
    return arrResult.join('');
}

console.log(titleCase("I'm a little tea pot"));
6、寻找数组中的最大值
在右边的大数组中包含了4个小数组,请分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新的数组。
function largestOfFour(arr) {
    var arrNew = [];
    // 遍历一维数组
    for(var i=0;i<arr.length;i++) {
        var max = 0;
        // 遍历二维数组
        for(var j=0;j<arr[i].length;j++) {
            // 判断数组中的数据是否是最大值
            if(max < arr[i][j]) {
                max = arr[i][j];
            }
        }
        arrNew.push(max);
    }
    console.log(arrNew);
    return arrNew;
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

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

    1、翻转字符串 2、阶乘 3、回文数 (去掉空格、标点符号,大小写) 4、寻找最长的单词 5、设置首字母大写 6、...

  • JavaScript实现的9大排序算法

    笔试面试经常涉及各种算法,本文简要介绍常用的一些算法,并用javascript实现。 1、插入排序 1)算法简介 ...

  • 2019-08-11

    Javascript中常用几种基础算法 1 排序-冒泡排序 //冒泡排序 function bubbleSort...

  • JavaScript常用基础算法

    基础算法一、排序冒泡排序 插入排序 当目标是升序排序,最好情况是序列本来已经是升序排序,那么只需比较n-1次,时间...

  • JavaScript算法集合 2018-03

    本文总结常见的算法,并用JavaScript实现 Array对象的sort()函数常用比较函数compareFun...

  • 数据结构与算法学习

    书: 《数据结构与算法JavaScript描述》--Michael McMillan 1.JavaScript的编...

  • JVM系列(四):浅谈常用四种垃圾回收算法总结!

    常用四种垃圾回收算法 常用的垃圾回收算法有四种:标记-清除算法、复制算法、标记-整理算法、分代收集算法。 1.标记...

  • JavaScript常用的递归算法

    假设娜奥美有未知的棒棒糖,每一天都吃掉剩下的一半,然后送给丽莎一根,到了第七天只剩下一根,问娜奥美之前一共有几根棒...

  • JavaScript常用数组算法总结

    数组去重 方法1: 利用数组的indexOf方法 方法2 利用hash表,可能会出现字符串和数字一样的话出错,如v...

  • JavaScript数组的常用算法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 欢迎大家...

网友评论

      本文标题:JavaScript常用算法1

      本文链接:https://www.haomeiwen.com/subject/trnijctx.html