Например, sssfgtdfssdddfsssssssssssssssssssssssssssssssssssssss, символ, который больше всего представляет собой S, который появляется 12 раз
Традиционное письмо
проанализировать:
1. Приготовьте пустой JSON и посмотрите на каждого символа в строке. Если в JSON нет такого персонажа, создайте новый массив в JSON и поместите этого персонажа в массив. Если в JSON есть этот персонаж, продолжайте добавлять персонажей в массив. В настоящее время, после завершения цикла, в JSON есть n массивы.
2. Найдите самый длинный массив в JSON. В настоящее время длина - это число, а большинство символов - это параметр, используя для ... в ... петле и параметра ATTR
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]; if (! json [k]) {json [k] = []; // еще здесь не нужны, иначе он будет добавлен только тогда, когда этот персонаж будет. Количество раз будет уменьшено} для (var attr in json) {if (num <json [attr] .length) {num = json [attr] .length; value = json [attr] [0];}} alert («символ, который появляется больше всего, является:«+value+», а количество раз раза: '+num);};};};Что если вы не хотите вкладывать вещи в JSON?
проанализировать:
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 - это все символы, а строки также могут быть извлечены методом индекса с скобком, таким как массивы, если (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+», а число occurences);Обычный метод
проанализировать:
1. Преобразовать строку в массив для сортировки, чтобы регулярно выбирались одни и те же символы рядом друг с другом.
2. Используйте два параметра метода обычного reply (), чтобы соответствовать большинству символов и количества символов
var str = "sssfgtdfssdddfssssssss"; var num = 0; var value = null; function max () {var new_str = str.split (""). sort (). join (""); var re =/(/w)/1+/g; // нет /1, re - целая отсортированная строка. С /1 он вынимается с повторными событиями. /1 означает, что первый ребенок раньше - это то же самое new_str.replace (re, function ($ 0, $ 1) {// $ 0 означает, что все извлечено и повторяется, например [s, s ...], [f, f ..], [d, d ....] $ 1 представляет символ в этом целом if (num <$ 0.length) {num = $ 0.length; value = $ 1}}); alert (value+":"+num)}; max (str);