ホームページ  >  記事  >  ウェブフロントエンド  >  文字列内の各文字の出現数をカウントする JavaScript の完全な例_javascript スキル

文字列内の各文字の出現数をカウントする JavaScript の完全な例_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 15:17:181588ブラウズ

この記事の例では、JavaScript が文字列内の各文字の出現数をカウントする方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

これは面接の質問で、ランダムな文字列を与え、その文字列内の各文字の出現回数を見つけるよう求められます。

ランニングエフェクトのスクリーンショットを見てみましょう:

具体的なコードは次のとおりです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>求字符串中每个字符出现的次数 </title>
  <script type="text/javascript">
    var str = "abdcadfasfdbadfafdasdfasyweroweurowqrewqrwqrebwqrewqrejwq;;";
    var array = str.split("");
    array.sort();
    var countArray = [];
    var CountObj = function(character){
      this.count = 1
      this.character = character;
      return this;
    }
    var arrayObj = null,
      countArrayObj = null,
      arrayLength = 0;
    for (var i = 0, length = array.length; i < length; i++) {
      arrayObj = array[i];
      arrayLength = countArray.length;
      if (arrayLength > 0) {
        countArrayObj = countArray[arrayLength - 1];
        if (countArrayObj.character == arrayObj) {
          countArrayObj.count = countArrayObj.count + 1;
        } else {
          countArray.push(new CountObj(arrayObj));
        }
      } else {
        countArray.push(new CountObj(arrayObj));
      }
    }
    /**
     * 输出每个字母和其对应出现的统计数据
     */
    for(var i=0,length=countArray.length; i<length; i++) {
      countArrayObj = countArray[i];
      console.log(countArrayObj.character + ":" + countArrayObj.count);
    }
  </script>
</head>
<body>
</body>
</html>

JavaScript アルゴリズムに関連するさらなるコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「JavaScript ソート アルゴリズムの概要」、「JavaScript トラバーサル アルゴリズムとテクニックの概要」と「JavaScriptのデータ構造とアルゴリズムスキルのまとめ

この記事が JavaScript プログラミングのすべての人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。