この記事の例では、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 プログラミングのすべての人に役立つことを願っています。