Misalnya, sssfgtdfssddfssssssss, karakter yang paling muncul adalah s, yang muncul 12 kali
Tulisan tradisional
menganalisa:
1. Siapkan JSON kosong dan lihat setiap karakter dalam string. Jika tidak ada karakter seperti itu di JSON, buat array baru di JSON dan masukkan karakter ini ke dalam array. Jika ada karakter ini di JSON, terus tambahkan karakter ke dalam array. Pada saat ini, setelah loop selesai, ada N array di JSON.
2. Temukan array terpanjang di JSON. Pada saat ini, panjangnya adalah angka, dan paling banyak karakter adalah parameter ini, menggunakan untuk ... di ... loop dan parameter attr
var str = "sssfgtdfsssddfsssssss"; 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]) {i ++) {var k = [i]; if (! json [k]) {i ++) {var k = [i]; if (! json [k]) {i ++ // Lain tidak diperlukan di sini, jika tidak, itu hanya akan ditambahkan ketika karakter ini ada. Berapa kali akan dikurangi} untuk (var attr in json) {if (num <json [attr] .length) {num = json [attr] .length; value = json [attr] [0];}} waspada ("Karakter yang paling banyak adalah:"+value+', dan jumlah kali adalah:'+num);} max (str);Bagaimana jika Anda tidak ingin memasukkan sesuatu ke dalam JSON?
menganalisa:
1. Siapkan JSON kosong, dan lihat setiap karakter dalam string. Jika tidak ada karakter seperti itu di JSON, atur jumlah karakter ini menjadi 1. Jika ada, angka ++
2. Loop karakter dalam JSON, selama mereka ada, mereka akan menetapkan nomor mereka ke variabel, dan membandingkan jumlah karakter baru dengan ukuran variabel ini setiap saat. Jika mereka lebih besar dari variabel, nilai variabel diperbarui. Akhirnya, nilai variabel ini adalah jumlah karakter terbanyak.
Karakter yang paling umum adalah karakter ini di JSON
var str = "sssfgtdfssddfssssss"; function max () {var json = {}; untuk (var i = 0; i <str.length; i ++) {var k = str [i]; // k adalah semua karakter, dan string juga dapat diambil dengan metode subskrip braket seperti array if (json [k]) {json [k] ++; // Ketika ada karakter ini di JSON, jumlah karakter ini adalah +1,} else {json [k] = 1; // Sebaliknya, atur jumlah karakter ini ke 1}} var num = 0; var value = null; for (var k dalam json) {// s, f, g, t, dif (json [k]> num) {num = json [k]; nilai = k;}} waspada ("Karakter yang tampak paling banyak adalah:"+nilai+', dan nomornya;Metode reguler
menganalisa:
1. Konversikan string menjadi array untuk disortir, sehingga karakter yang sama di sebelah satu sama lain dipilih secara teratur.
2. Gunakan dua parameter dari metode REFORMAL REGUAL () untuk mencocokkan karakter terbanyak dan jumlah karakter
var str = "sssfgtdfssddfsssssss"; var num = 0; var value = null; function max () {var new_str = str.split (""). sort (). gabungkan (""); var re =/(/w)/1+/g; // no /1, re adalah string yang diurutkan. Dengan /1, dikeluarkan dengan kejadian berulang. /1 berarti bahwa anak pertama sebelumnya adalah new_str.replace yang sama (re, function ($ 0, $ 1) {// $ 0 berarti keseluruhan diambil dan diulangi, seperti [S, S ...], [f, f ..], [D, D ....] $ 1 mewakili karakter dalam keseluruhan ini if (num <$ 0.length) {num = $ 0.length; value = $ 1}}); peringatan (nilai+":"+num)}; max (str);