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 相关文章推荐
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
使用jquery插件qrcode生成二维码
Oct 22 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
Jan 15 Javascript
jquery操作ID带有变量的节点实例
Dec 07 Javascript
bootstrap vue.js实现tab效果
Feb 07 Javascript
移动端触摸滑动插件swiper使用方法详解
Aug 11 Javascript
微信小程序显示下拉列表功能【附源码下载】
Dec 12 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
Jan 02 Javascript
vue 组件中slot插口的具体用法
Apr 03 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 Javascript
vue学习笔记之slot插槽用法实例分析
Feb 29 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
Discuz! Passport 通行证整合
2008/03/27 PHP
说明的比较细的php 正则学习实例
2008/07/30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
python为tornado添加recaptcha验证码功能
2014/02/26 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
python动态加载包的方法小结
2016/04/18 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
python 伯努利分布详解
2020/02/25 Python
python怎么删除缓存文件
2020/07/19 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
软件配置管理有什么好处
2015/04/15 面试题
英文简历自荐信范文
2013/12/11 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
特教教师先进事迹
2014/05/21 职场文书
县级文明单位申报材料
2014/05/23 职场文书
综治维稳工作承诺书
2014/08/30 职场文书
导游词之太湖
2019/10/08 职场文书
mysql函数全面总结
2021/11/11 MySQL