JavaScript实现查找字符串中第一个不重复的字符
此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达。
//找出字符串中第一个不重复的字符
// 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;
}
小伙伴们如有更好的思路,还请告之一下,不胜感激
相关推荐
-
js中数组结合字符串实现查找(屏蔽广告判断url等)
1.广告屏蔽 有时候我们的广告页面都是统一的用js控制的,有些页面不想显示部分广告,那么我们只需要文章的id即可,纯字符串查找简单有效,我们也在用 var ad_softlist = ',,133015,155868,146429,'; if("undefined" != typeof softid){ //判断文章id是否存在,不存在就不执行,一般页面中会定义好var softid=45465; if(softid!=null && ad_softlist.index
-
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
本文实例讲述了JavaScript自定义函数实现查找两个字符串最长公共子串的方法.分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 function findSubStr(s1,s2){ var S=sstr= "" ,L1=s1.length,L2=s2.length; if (L1>L2){ var s3=s1;s1=s2,s2=s3,L1=s2.length;} for ( var j=L1;j> 0 ;j--) for ( var i= 0 ;i&
-
Js查找字符串中出现次数最多的字符及个数实例解析
如sssfgtdfssddfsssfssss,出现最多的字符是s,出现了12次 传统写法 分析: 1.准备一个空的json,通过循环字符串的每个字符来看,如果json里没有这个字符,就在json里创建一个新的数组,并把这个字符放进数组里,如果json里有这个字符,继续把字符添加进数组里,这时循环完json里有n个数组 2.找出json里长度最长的数组,此时长度即个数,而最多的字符就是这个参数,用到for...in...循环和参数attr var str="sssfgtdfssddfsssfsss
-
JavaScript使用indexOf获得子字符串在字符串中位置的方法
本文实例讲述了JavaScript使用indexOf获得子字符串在字符串中位置的方法.分享给大家供大家参考.具体如下: <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to locate where in the string a specifed value occurs.</p> <button onclick="myFunction
-
JavaScript检查子字符串是否在字符串中的方法
本文实例讲述了JavaScript检查子字符串是否在字符串中的方法.分享给大家供大家参考,具体如下: var strnew="Hello Raghu How are u" //Checking existence in entire string if(strnew.indexOf("Raghu") != -1 ) { alert("Exists"); } /* Checking existence at the end of string Fo
-
JavaScript判断一个字符串是否包含指定子字符串的方法
本文实例讲述了JavaScript判断一个字符串是否包含指定子字符串的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码,为String对象定义了一个contains方法用于判断字符串是否包含子字符串,非常有用. if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++) {
-
浅析Node.js查找字符串功能
需求如下: 整个目录下大概有40几M,文件无数,由于时间久了, 记不清那个字符串具体在哪个文件,于是.强大,亮瞎双眼的Node.js闪亮登场: windows下安装Node.js和安装普通软件毫无差别,装完后打开Node.js的快捷方式,或者直接cmd,你懂的. 创建findString.js var path = require("path"); var fs = require("fs"); var filePath = process.argv[2]; var
-
Node.js实现在目录中查找某个字符串及所在文件
需求如下: 整个目录下大概有40几M,文件无数,由于时间久了, 记不清那个字符串具体在哪个文件,于是.强大,亮瞎双眼的Node.js闪亮登场. windows下安装Node.js和安装普通软件毫无差别,装完后打开Node.js的快捷方式,或者直接cmd,你懂的. 创建findString.js 复制代码 代码如下: var path = require("path"); var fs = require("fs"); var filePath = process
-
JS查找字符串中出现次数最多的字符
在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt()方法 indexOf()方法介绍 返回某个指定的字符串值在字符串中首次出现的位置 charAt()方法介绍 返回某个指定位置的字符 先做一个小测试,找到字符串'woainixiaoli'中的每一个'i'出现的位置. <script> var arr = 'woainixiaoli'; var
-
javascript查找字符串中出现最多的字符和次数的小例子
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu
-
JavaScript实现在数组中查找不同顺序排列的字符串
需求描述:从一组数组中找出一组按不同顺序排列的字符串的数组元素.假如有这样一个数组: 复制代码 代码如下: [ 'abcd', 'hello', 'bdca', 'olleh', 'cadb', 'nba', 'abn', 'abc' ] 需要找出的结果是: 复制代码 代码如下: [ 'abcd', 'bdca', 'cadb' ] 那么这里的关键点是判断一组字符串是否是否只是字符的顺序不同,只要解决整个关键点其他都好办了. 方法1: 复制代码 代码如下: var stringClassify
随机推荐
- thinkphp框架实现删除和批量删除
- python的三目运算符和not in运算符使用示例
- Android NavigationView头部设置监听事件
- Python 面向对象 成员的访问约束
- go语言实现抓取高清图片
- VB.NET设置屏幕分辨率、颜色位数、刷新率 实例代码
- JS+CSS实现感应鼠标渐变显示DIV层的方法
- Codeigniter中mkdir创建目录遇到权限问题和解决方法
- 全新的PDO数据库操作类php版(仅适用Mysql)
- 基于mysql的论坛(5)
- iOS对数组进行排序的实例代码
- jQuery动态添加删除select项(实现代码)
- Ruby简洁学习笔记(一):字符串、数字、类和对象
- nginx加php-fpm出现502 bad gateway错误的5种解决方法
- 清空MSSQL日志 与set recovery simple
- 基于jquery的跨域调用文件
- javascript学习笔记(二)数组和对象部分
- Linux下Nginx安全证书ssl配置方法
- Android GPS定位详解及实例代码
- java 分割csv数据的实例详解