JavaScript测试题练习
1、给你一个字符串,要你找出里面出现次数最多的字母和出现的次数,例如:“weruiewiuorsdjfklxsdfwerxcvcvcvmqwersadftioytyiopuioptuioptyiouio”;
1 <script type="text/javascript"> 2 var str = "weruiewiuorsdjfklxsdfwerxcvcvcvmqwersadftioytyiopuioptuioptyiouio", 3 copyStr = [], 4 i = 0; 5 var n = ""; 6 7 while(str.charAt(0)){ 8 copyStr[i] = str.charAt(0) + "=" + (str.split(str.charAt(0)).length-1); 9 str = str.split(str.charAt(0)).join(""); 10 i++; 11 } 12 13 for(var j=0, temp=0; j<copyStr.length; j++){ 14 if(temp <= Number(copyStr[j].split("=")[1])){ 15 temp = Number(copyStr[j].split("=")[1]); 16 n = copyStr[j]; 17 } 18 } 19 alert("出现次数最多的为:"+ n +"\n" +"每个字母出现的次数为:"+ copyStr); 20 21 </script>
2、字符串的字节长度;
1 <script type="text/javascript"> 2 function strLength(s){ 3 if(!arguments.length) { 4 alert("没有参数!"); 5 return; 6 } 7 if(arguments.length>1) { 8 alert("参数过多只能设置一个!"); 9 return; 10 } 11 if(s==""){ 12 alert("参数不能为空!"); 13 return; 14 } 15 16 var n=0; 17 for(var i=0; i<s.length; i++){ 18 if(s.charCodeAt(i)>255){ //charCodeAt() 方法可返回指定位置的字符的 Unicode 编码 19 n+=2; 20 }else{ 21 n++; 22 } 23 } 24 alert(n); 25 } 26 strLength("节长度") 27 </script>
3.、去掉数组中重复的元素 var a = ["abc", "def", "a", "b", "c", "a", "b", "c"];
1 <script type="text/javascript"> 2 var a = ["abc", "def", "a", "b", "c", "a", "b", "c"]; 3 4 function strip(str){ 5 if(str.length<2) return str; 6 7 var arr = []; 8 for(var i=0; i<str.length; i++){ 9 arr.push(str.splice(i--,1)); //给arr添加str数组的第一个 10 for(var j=0; j<str.length; j++){ 11 if(str[j] == arr[arr.length-1]){ //对比arr数组的最后一个 12 str.splice(j,1); 13 } 14 } 15 } 16 alert(arr); 17 } 18 19 strip(a); 20 21 </script>