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查找字符串中出现次数最多的字符
在一个字符串中,如 'zhaochucichuzuiduodezifu',我们要找出出现最多的字符.本文章将详细说明方法思路. 先介绍两个string对象中的两个方法:indexOf()和charAt()方法 indexOf()方法介绍 返回某个指定的字符串值在字符串中首次出现的位置 charAt()方法介绍 返回某个指定位置的字符 先做一个小测试,找到字符串'woainixiaoli'中的每一个'i'出现的位置. <script> var arr = 'woainixiaoli'; var
-
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++) {
-
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
-
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自定义函数实现查找两个字符串最长公共子串的方法.分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 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
-
浅析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
-
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
-
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
随机推荐
- iOS开发之路--微博骨架搭建
- php实现把url转换迅雷thunder资源下载地址的方法
- php jquery 多文件上传简单实例
- php获取服务器端mac和客户端mac的地址支持WIN/LINUX
- 找到一款不错的基于AJAX留言板源码(PHP版、ASP版)提供下载了
- php 实现Hash表功能实例详解
- JQuery表格内容过滤的实现方法
- 母亲节由来看过了这个就知道什么时候是母亲节了
- jQuery实现获取隐藏div高度的方法示例
- javascript 页面只自动刷新一次
- Thinkphp框架开发移动端接口(2)
- vue实现分页组件
- Python3 关于pycharm自动导入包快捷设置的方法
- Android银行卡扫描获取银行卡号
- python 批量解压压缩文件的实例代码
- layui固定下拉框的显示条数(有滚动条)的方法
- Mybatis示例之SelectKey的应用
- 详解SpringBoot结合策略模式实战套路
- Spring Boot项目中定制PropertyEditors方法
- Python实现随机漫步功能