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 树控件 比较好用
Jun 11 Javascript
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
AeroWindow 基于JQuery的弹出窗口插件
Jun 27 Javascript
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 Javascript
jQuery图片的展开和收缩实现代码
Apr 16 Javascript
Angular中ng-bind和ng-model的区别实例详解
Apr 10 Javascript
JS基于封装函数实现的表格分页完整示例
Jun 26 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
在layui框架中select下拉框监听更改事件的例子
Sep 20 Javascript
JS实现烟花爆炸效果
Mar 10 Javascript
Vue通过provide inject实现组件通信
Sep 03 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 strtotime 函数UNIX时间戳
2009/01/14 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
Python的另外几种语言实现
2015/01/29 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
深入讲解Python中的迭代器和生成器
2015/10/26 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python递归函数定义与用法示例
2017/06/02 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
通过实例解析Python return运行原理
2020/03/04 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
python eventlet绿化和patch原理
2020/11/21 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
商务经理岗位职责
2014/07/30 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
网聊搭讪开场白
2015/05/28 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书