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 相关文章推荐
用js实现计算代码行数的简单方法附代码
Aug 13 Javascript
JS无限树状列表实现代码
Jan 11 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
浏览器兼容性问题大汇总
Dec 17 Javascript
详解JavaScript跨域总结与解决办法
Oct 31 Javascript
有趣的bootstrap走动进度条
Dec 01 Javascript
Vue.JS入门教程之自定义指令
Dec 08 Javascript
js判断传入时间和当前时间大小实例(超简单)
Jan 11 Javascript
JS实现显示当前日期的实例代码
Jul 03 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
Nov 05 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
php4的session功能评述(一)
2006/10/09 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
2011/03/30 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中线程编程之threading模块的使用详解
2015/06/23 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
python 如何实现遗传算法
2020/09/22 Python
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
幼儿园大班教学反思
2014/02/10 职场文书
调研汇报材料范文
2014/08/17 职场文书
小学体育课教学反思
2016/02/16 职场文书