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


Posted in Javascript onSeptember 03, 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基础之undefined与null的区别分析
Aug 08 Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 Javascript
JQuery性能优化的几点建议
May 14 Javascript
使用JS+plupload直接批量上传图片到又拍云
Dec 01 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
基于Vue的移动端图片裁剪组件功能
Nov 28 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
vue实现word,pdf文件的导出功能
Jul 31 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
Sep 27 Javascript
mocha的时序规则讲解
Feb 16 Javascript
javascript中正则表达式语法详解
Aug 07 Javascript
vue组件中实现嵌套子组件案例
Aug 31 Javascript
Egret引擎开发指南之编译项目
Sep 03 #Javascript
js和jquery中循环的退出和继续下一个循环
Sep 03 #Javascript
Egret引擎开发指南之创建项目
Sep 03 #Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
Sep 03 #Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 #Javascript
javascript常见操作汇总
Sep 03 #Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 #Javascript
You might like
给多个地址发邮件的类
2006/10/09 PHP
PHP中strtotime函数使用方法分享
2012/01/10 PHP
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
PHP定时任务延缓执行的实现
2014/10/08 PHP
php去掉文件前几行的方法
2015/07/29 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
提高网站信任度的技巧
2008/10/17 Javascript
javascript 异常处理使用总结
2009/06/21 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
python django 实现验证码的功能实例代码
2017/05/18 Python
Python File readlines() 使用方法
2018/03/19 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
国际经济贸易专业推荐信
2013/11/06 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
健康教育主题班会
2015/08/14 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
Java完整实现记事本代码
2022/06/16 Java/Android
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技