예를 들어, SSSFGTDFSSDFSSSSSSSS, 가장 많이 보이는 캐릭터는 12 번 나타납니다.
전통적인 글
분석 :
1. 빈 JSON을 준비하고 문자열의 각 문자를보십시오. JSON에 그러한 캐릭터가 없다면 JSON에 새 배열을 만들고이 문자를 배열에 넣으십시오. JSON 에이 문자가 있다면 캐릭터를 배열에 계속 추가하십시오. 현재 루프가 완료된 후 JSON에는 N 어레이가 있습니다.
2. JSON에서 가장 긴 배열을 찾으십시오. 현재 길이는 숫자이며 대부분의 문자는이 매개 변수입니다.
var str = "sssfgtdfssddfssssss"; function max () {var json = {}; var num = 0; var value = null; for (var i = 0; i <str.length; i ++) {var k = str [i]; i]; if (! json [k]) {json = [] [} json [k]. // 여기서는 필요하지 않습니다. 그렇지 않으면이 문자가 존재하는 경우에만 추가됩니다. (JSON의 var attr at at}) {if (num <json [attJSON에 물건을 넣고 싶지 않다면 어떻게해야합니까?
분석 :
1. 빈 JSON을 준비하고 문자열의 각 문자를보십시오. JSON에 그러한 캐릭터가 없으면이 문자의 수를 1로 설정합니다.
2. JSON의 캐릭터를 루프하십시오. 변수보다 큰 경우 변수 값이 업데이트됩니다. 마지막 으로이 변수의 값은 가장 많은 문자 수입니다.
가장 일반적인 캐릭터는 JSON 의이 캐릭터입니다
var str = "sssfgtdfssddfssssss"; function max () {var json = {}; for (var i = 0; i <str.length; i ++) {var k = str [i]; // k는 모든 문자이며, 배열 if (json [k]) {json [k] ++; // JSON 에이 문자가있을 때이 문자의 수는 +1,} else {json [k] = 1; // 그렇지 않으면,이 문자의 번호를 1}}} var num = 0; var value = null; for (var k in json) {// s, f, g, t, dif (json [k]> num) {num = json [k]; value = k;}} alert ( "가장 나타나는 문자는 :"+value (num);일반 방법
분석 :
1. 정렬을 위해 문자열을 배열로 변환하여 서로 옆에있는 동일한 문자가 정기적으로 선택되도록합니다.
2. 일반 대체 () 메소드의 두 매개 변수를 사용하여 가장 많은 문자와 문자 수와 일치합니다.
var str = "sssfgtdfssddfsssssss"; var num = 0; var value = null; function max () {var new_str = str.split ( ""). sort (). join ( "); var re =/(/w)/1+/g; // no /1, Re는 정렬 된 문자열입니다. /1을 사용하면 반복적 인 발생으로 꺼집니다. /1은 이전의 첫 번째 자녀가 동일한 new_str.replace (RE, function ($ 0, $ 1) {// $ 0임을 의미합니다. {// $ 0는 [s, s ...], [f, f ..], [d, d ....]와 같이 전체 전체가 꺼내어 반복되었음을 의미합니다. $ 1은이 전체의 특성을 나타냅니다. if (num <$ 0.length) {num = $ 0.length; value = $ 1}}); Alert (value+":"+num)}; max (str);