javascriptテスト問題の練習

6851 ワード

1、文字列をあげます.中で一番多い文字と出現回数を見つけてください.例えば、「aaaasdffghjjkfddsss」.
 1 var str = "abaasdffggghhjjkkgfddsssss";
 2     var arr = new Array();
 3     var i = 0;
 4     while (str.charAt(0)) {
 5         arr[i] = str.charAt(0) + "=" + (str.split(str.charAt(0)).length - 1);
 6         str = str.split(str.charAt(0)).join("");
 7         i++;
 8     }
 9     alert(arr);
10     for (var j = 0,temp=0; j < arr.length; j++) {
11         if (temp <= Number(arr[j].split("=")[1])) {
12             temp = Number(arr[j].split("=")[1]);
13             i = j;
14         }
15     }
16     alert(arr[i]);
 2、文字列のバイト長を解く.
 1 var f = function(s) {
 2         if (!arguments.length || !s) {
 3             return null;
 4         }
 5         if ("" == s) {
 6             return 0;
 7         }
 8         var l = 0;
 9         for (var i = 0; i < s.length; i++) {
10             if (s.charCodeAt(i) > 255) {
11                 l += 2;
12             } else {
13                 l++;
14             }
15         }
16         alert(l);
17     };
18     f("  a")
3、配列中の重複要素を削除します.
 1  Array.prototype.strip = function() {
 2         if (this.length < 2) {
 3             return [this[0]] || [];
 4         }
 5         var arr = [];
 6         for (var i = 0; i < this.length; i++) {
 7             arr.push(this.splice(i--, 1));
 8             for (var j = 0; j < this.length; j++) {
 9                 if (this[j] == arr[arr.length - 1]) {
10                     this.splice(j--, 1);
11                 }
12             }
13         }
14         return arr;
15     };
16     var a = ["abc", "abc", "a", "b", "c", "a", "b", "c"];
17     alert(a.strip());
 
 
転載先:https://www.cnblogs.com/cmsdn/archive/2012/10/10/2718296.html