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 相关文章推荐
用window.location.href实现刷新另个框架页面
Mar 07 Javascript
QQ邮箱的一个文本编辑器代码
Mar 14 Javascript
Javascript中的数学函数集合
May 08 Javascript
jQuery 学习6 操纵元素显示效果的函数
Feb 07 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
Feb 16 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
JavaScript设计模式之单例模式实例
Sep 24 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
Javascript优化技巧之短路表达式详细介绍
Mar 27 Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
Sep 01 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
mysql时区问题
2008/03/26 PHP
php email邮箱正则
2008/10/08 PHP
最新的php 文件上传模型,支持多文件上传
2009/08/13 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
php时间计算相关问题小结
2016/05/09 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
JavaScript 基础问答三
2008/12/03 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
python图形用户接口实例详解
2019/12/16 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
Expedia丹麦:全球领先的旅游网站
2018/03/18 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
酒店员工培训方案
2014/06/02 职场文书