자바스크립트는 가장 많이 반복되는 문자를 얻습니다
/** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 length; //该字符的长度 //定义输出对象 var max = { wordName : '', //重复次数最多的字符 wordLength : 0 //重复的次数 }; //递归方法,传入字符串 (function(words) { if (!words) return; //如果字符串已经变空则返回,结束递归 word = words[0]; //取出字符串中的第一个字符 length = words.length; //将length设为当前字符串长度 words = words.replace(new RegExp(word, 'g'), ''); //返回将字符串剔除当前字符的剩余字符串 length = length - words.length; //重设length为当前字符在字符串中的长度 if (length > max.wordLength) //如果该字符重复次数大于maxLength,则重设maxLength为当前字符重复次数 max = { //重设对象的值 wordName : word, wordLength : length }; arguments.callee(words); //递归调用,传入剩余字符串 })(words); console.log(max.wordName+"\n"+max.wordLength); //递归结束后输出结果
오늘 아침에 이런 문제를 우연히 봤습니다. 인터넷에 있는 대부분의 문제가 두 개의 루프를 사용하여 만들어진다는 것을 보고 저는 재귀를 사용하여 썼습니다
.아이디어는
반복될 때마다 문자열에서 동일한 기호가 있는 문자를 제거하고 이전 문자열 길이에서 제거된 문자열의 길이를 뺍니다.
문자열에서 현재 문자의 반복 횟수를 구합니다.해당 문자의 반복 횟수가 현재 출력 개체에 저장된 maxLength보다 큰지 확인합니다.
사실인 경우 업데이트하세요
그런 다음 문자열이 교체될 때까지 다음 재귀를 입력하고 종료합니다
출력 객체는 가장 자주 사용되는 문자와 반복 횟수를 저장합니다
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.