JavaScript实现查找字符串中第一个不重复的字符


Posted in Javascript onDecember 29, 2014

此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。

 //找出字符串中第一个不重复的字符

 // firstUniqueChar("vdctdvc"); --> t

 function firstUniqueChar(str){

   var str = str || "",

       i = 0,

       k = "",

       _char = "",

       charMap = {},

       result = {name: "",index: str.length};

   for(i=0;i<str.length;i++){

     _char = str.charAt(i);

     if(charMap[_char] != undefined){

       charMap[_char] = -1;

     }else{

       charMap[_char] = i;

     }

   }

   for(k in charMap){

     if(charMap[k]<0){

       continue;

     }

     if(result.index>charMap[k]){

       result.index = charMap[k];

       result.name = k;

     }

   }

   return result.name;

 }

小伙伴们如有更好的思路,还请告之一下,不胜感激

Javascript 相关文章推荐
javascript编程起步(第五课)
Jan 10 Javascript
jQuery 注意事项 与原因分析
Apr 24 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
Nov 19 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
Feb 13 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
浅析JavaScript中浏览器的兼容问题
Apr 19 Javascript
JavaScript事件用法浅析
Oct 31 Javascript
基于input动态模糊查询的实现方法
Dec 12 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
微信小程序使用wxParse解析html的方法示例
Jan 17 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
Dec 29 #Javascript
JavaScript中的数学运算介绍
Dec 29 #Javascript
jQuery中:lt选择器用法实例
Dec 29 #Javascript
JavaScript中的数值范围介绍
Dec 29 #Javascript
JavaScript常用小技巧小结
Dec 29 #Javascript
jQuery中:gt选择器用法实例
Dec 29 #Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 #Javascript
You might like
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php生成静态页面的简单示例
2014/04/17 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
思想汇报范文
2013/11/04 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
餐厅考勤管理制度
2014/01/28 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
2014年管理工作总结
2014/11/22 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫