博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试题:1.清空字符串前后的空格;2.找出出现最多的字符
阅读量:5846 次
发布时间:2019-06-18

本文共 1151 字,大约阅读时间需要 3 分钟。

今天收到朋友的求助。

两道面试题:

1.请空字符串前后的空格。

实现思路:

  • 在原型String对象上扩展一个方法叫trim;
  • 里面的正则是查找除了空格以外的所有字符,这样就起到去除空格了。
  • 接着调用就ok了。
String.prototype.trim=function(){    return this.replace(/(^\s*)|(\s*$)/g,"");}var str=" test ";//你的字符串alert("["+str.trim()+"]")

  2.找出出现最多次数的字符

  • 先来一个高级版的哈
  • 实现原理:利用while循环比较每次计算后的字符串长度
var str = "aaaabbbcccccddfgh";var maxLength = 0;var result = "";while(str!=''){    oldStr = str;    getStr = str.charAt(0);    str = str.replace(new RegExp(getStr,"g"),"");    if( oldStr.length-str.length > maxLength){        maxLength = oldStr.length-str.length;        result = getStr + "=" + maxLength;    }}alert(result);
  • 来一个复杂的但是思路是较大众的
  • 就是循环遍历然后比较,分别求出字符和出现的次数
var str = "aaaabbbccccddfgh";var obj = {};for (var i = 0, l = str.length; i < l; i++) {var key = str[i];if (typeof obj[key] == 'undefined') {obj[key] = 1;} else {obj[key]++;}}var max = -1;var max_key = "";var key;for (key in obj) {if (max < obj[key]) {max = obj[key];max_key = key;}}alert("字符:"+max+" 出现次数:"+max_key);

  

String.prototype.trim=function(){    return this.replace(/(^\s*)|(\s*$)/g,"");}var str=" test ";//你的字符串alert("["+str.trim()+"]")

转载于:https://www.cnblogs.com/webSong/p/6429088.html

你可能感兴趣的文章
Mac软件下载备忘
查看>>
java 泛型初探
查看>>
Golang安装包go get使用代理
查看>>
ceph-objectstore-tool工具使用示例
查看>>
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory
查看>>
备份事务日志 (SQL Server)
查看>>
Ubuntu操作系统安装使用教程
查看>>
一个GUI对话框界面
查看>>
Linux中sort 排序
查看>>
就是一个表格
查看>>
CakePHP 2.x CookBook 中文版 第三章 入门 之 CakePHP 的结构
查看>>
介绍2个免费生成手机端软件的网站
查看>>
Objective-C的算术表达式 .
查看>>
RPC failed; result=28, HTTP code = 0
查看>>
gcc编译C++程序
查看>>
linux中nfs的自动挂载
查看>>
统一关闭域客户端防火墙服务/功能
查看>>
expandablelistview open group scroll to top
查看>>
Linux-HA3.0版安装说明
查看>>
jquery.form.js官方插件介绍Form插件,支持Ajax,支持Ajax文件上传
查看>>