admin 管理员组文章数量: 887021
字符串,数组常见例题
1:在一串字符串中找出最长的字符
var st="The quick brown fox jumped bcaked jumped abscefg over the lazy dog 15625765675276";function zifuchuanmax(str){var arr=str.split(" ");//将字符串转化为数组var max=arr[0];for(var i=1;i<arr.length;i++){if(max.length<arr[i].length){max=arr[i];}}return max;}console.log(zifuchuanmax(st));//15625765675276
做题方法:首先利用split方法将字符串转化为数组,定义一个变量,将数组的第一个元素赋值给这个变量,然后用for循环将数组中的元素与该变量依次比较,如果比该变量长,则将该元素赋值给变量
2:数组去重,将一个数组中相同的元素去掉
var arr = [1, 1, 2, 3, 4, 3, 5, 5, 6, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9];function szqc(array){for(var i=0;i<array.length;i++){var same=array[i];for(var k=i+1;k<array.length;k++){if(same==array[k]){array.splice(k,1);//删除元素之后,后面元素会自动补位,但下次循环系统会自动跳过该位置元素,所以补位元素就会被忽略k--;//退回去会将补位元素不被忽略}}}return array;}console.log(szqc(arr));// [1, 2, 3, 4, 5, 6, 7, 8, 9]
3:字符串翻转
方法一:
var str = "abcdefghi";
console.log(str.split("").reverse().join(""));//ihgfedcba
将字符串转化为数组,然后利用数组的方法reverse将数组翻转,然后再用join()将其转化为字符串
方法二:
var str = "abcdefghi";function fanzhuan(str){var dao="";//定义一个空字符串for(var i=str.length-1;i>=0;i--){dao+=str.charAt(i);}return dao;}console.log(fanzhuan(str));//ihgfedcba
在函数中定义一个新的空字符串,然后利用for循环,倒叙取出原字符串中元素,叠加
4:
统计一个字符串中出现最多的及其出现的次数给出一个字符串,统计出现次数最多的字母。如:“cccccccccasdfssaaasasasasaadddddddd”,
var str1 = "cccccccccasdfssaaasasasasaadddddddd";
function findChar(str) {var ss = moveNumber(str.split(""));//先利用数组去重,将每个元素取出/*[a,c,f,h]*/var list = [];for (var i = 0; i < ss.length; i++) {var count = 0;for (var index in str) {if (ss[i] == str.charAt(index)) {count++;}//}list.push([ss[i], count]);}var tong = 1;for (var i = 0; i < list.length; i++) {if (list.length <= tong)break;if (list[i][1] > list[i + 1][1]) {list.splice(i + 1, 1);i--;}else if (list[i][1] < list[i + 1][1]) {list.splice(i, 1);i--;}else {tong++;}}return function () {var strlist = "";for (var i = 0; i < list.length; i++) {strlist += list[i][0] + "---" + list[i][1] + "个"}return strlist;}}
console.log(findChar(str1)());//c---9个a---9个d---9个
版权声明:本文标题:字符串,数组常见例题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1722987839h736320.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论