您的位置:首页 > Web前端 > JavaScript

JavaScript常用算法一

2019-08-13 23:30 1331 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/valada/article/details/99492200

JavaScript常用算法

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");

阅读全文: http://gitbook.cn/gitchat/activity/5d52d629667af834b8383b88

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: