通过js来获取字符串中各个字母出现的次数

在上一篇文章《解析如何通过javascript来反转数字》中给大家介绍了javascript反转数字的方法,本文继续给大家带来javascript的基础使用,希望对你会有帮助!

正如标题所述,本文的中心问题是“编写一个JavaScript函数来获取指定字符串中每个字母出现的次数”。

下面我直接给大家上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    function Char_Counts(str1) {
        var uchars = {};
        str1.replace(/\S/g, function(l){uchars[l] = (isNaN(uchars[l]) ? 1 : uchars[l] + 1);});
        return uchars;
    }
    console.log(Char_Counts("The quick brown fox jumps over the lazy dog"));

</script>
</body>
</html>

获取结果如下:

那么从上图中可以清楚的看到各个字母出现的次数是多少。

这里给大家总结2个用到的方法:

1、replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串;

其语法是“stringObject.replace(regexp/substr,replacement)”;返回值:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

参数分别表示:

regexp/substr,规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。    
replacement,一个字符串值。规定了替换文本或生成替换文本的函数。

2、isNaN() 函数用于检查其参数是否是非数字值。

其语法是“isNaN(x)”,参数x表示要检测的值;返回值:如果 x是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。

注:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。

最后给大家推荐《JavaScript基础教程》~欢迎大家学习~

以上就是通过js来获取字符串中各个字母出现的次数的详细内容,更多请关注其它相关文章!