이 기사의 예에서는 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 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.