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 相关文章推荐
javascript编程起步(第六课)
Jan 10 Javascript
使用JS 清空File控件的路径值
Jul 08 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
使用console进行性能测试
Apr 27 Javascript
Node.js  事件循环详解及实例
Aug 06 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
详解webpack4升级指南以及从webpack3.x迁移
Jun 12 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
Jun 04 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 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
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
《灯光》教学反思
2014/02/08 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
政风行风整改报告
2014/11/06 职场文书
归元寺导游词
2015/02/06 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android