查找String中出现最多字符的次数和个数
Sting 的charAt方法返回相应位置的字符,使用该方法遍历String,将每个字符存入对象属性,遍历属性得到最多字符个数
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head> <body> <script>
window.onload = function() {
new GetChar("lanleilinhello");
} function GetChar(str) {
this.obj = {};
this.len = str.length;
for(var i = 0; i < this.len; i++) {
var c = str.charAt(i);
//将每个字符作为对象属性
if(this.obj[c]) {
this.obj[c]++;
} else {
this.obj[c] = 1;
}
}
console.log(this.obj);
//遍历对象
this.max = 0;
this.maxChar = '';
for(var key in this.obj) {
if(this.max < this.obj[key]) {
this.max = this.obj[key];
this.maxChar = key;
}
}
console.log("最多的字符是" + this.maxChar);
console.log("出现的次数是" + this.max);
}
</script>
</body> </html>
采用构建json的方法:
var s='lannn';
var json={};
var num=1;
for(let i=0;i<s.length;i++){
var c=s.charAt(i);//出现过的字符作为json的key
if(json[c]){//若出现过字符,key值加一
num++
json[c]=num;
}else{
json[c]=1;
}
}
console.log(json)
var max=0;
var maxChar='';
for(var key in json){
if(max<json[key]){//若max小于key值则将key值赋给max,从而取得最大次数
max=json[key];
maxChar=key;
}
}
console.log('最多的字符为 '+maxChar);
console.log('次数 '+max);
去除数组中重复数字:
window.onload = function() {
var e = 'ab cde';
//将字符串反转
var a = e.split('').reverse().join('');
console.log(a);
//取代空格
let b = e.replace(/\s/, '+');
console.log(b)
//中间加+
var c = e.split('');
var arr = [];
for(var i = 0; i < c.length; i++) {
arr.push(c[i]);
arr.push('+');
}
console.log(arr.join('').slice(0, -1));
//将数字 12345678 转化成 RMB 形式 如: 12,345,678,反过来每三个加,
var num = {}; //命名空间
num.n = 12345678;
num.s = num.n.toString();
num.a = num.s.split('').reverse();
num.arr = [];
for(let i = 0; i < num.a.length; i++) {
num.arr.push(num.a[i]);
if((i + 1) % 3 == 0) {
num.arr.push(',');
}
}
console.log(num.arr.reverse().join(''));
//生成 5 个不同的随机数
let ranNum = [];
for(let i=0;i<5;i++){
ranNum[i]=Math.floor(Math.random()*10)+1;
for(let j=0;j<i;j++){
if(ranNum[j]==ranNum[i]){
i--;//重复的数字重新生成新数字覆盖
}
}
}
console.log(ranNum)
//去掉数组中重复的数字,立flag,新数组中所有项与原数不同,flag可推入
let arr1=[2,46,7,845,7,7,7,73];
let arr2=[];
let flag=1;
for(let i=0;i<arr1.length;i++,flag=1){
for(let j=0;j<i;j++){
if(arr2[j]==arr1[i]){
flag=0
}
}
flag?arr2.push(arr1[i]):0;
}
console.log(arr2)
//去掉重复数字方法二,新数组indexOf==-1(远数组中某项在新数组中不含,可推入)
var arr=[1,1,2,2,3,3,4,4];
var arr2=[];
for(var i=0;i<arr.length;i++){
if(arr2.indexOf(arr[i])==-1){
arr2.push(arr[i]);
}
}
alert(arr2);
}
查找String中出现最多字符的次数和个数的更多相关文章
- Javascript 查找字符串中出现最多的字符和出现的次数
<script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...
- Java-J2SE学习笔记-查找一个String中,subString的出现次数
1.查找一个String中,subString的出现次数 2.代码 package Test; public class TestStringContain { public static void ...
- 使用Set去除String中的重复字符
使用Set去除String中的重复字符 public class test14 { public static void main(String[] args) { String str = &quo ...
- Js练习题之查找字符串中出现最多的字符和个数
如sssfgtdfssddfsssfssss,出现最多的字符是s,出现了12次 传统写法 分析: 1.准备一个空的json,通过循环字符串的每个字符来看,如果json里没有这个字符,就在json里创建 ...
- FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过
/*统计除了>之外的行里面CHED四个字母总数*/ #include<fstream> #include<iostream> #include<cstring> ...
- 【SQL Server 学习系列】-- 获取字符串中出现某字符的次数及字符某次出现的下标
) = '1_BB_CC_DD_AA_EE_YY_WW_HH_GG' --// 1. 获取下划线在字符串中出现的次数 SELECT LEN(@Str) - LEN(REPLACE(@Str, '_', ...
- java中去除字符串(String)中的换行字符(\r \n \t)
例1: public class Test { public static void main(String[] args) { String s = "'sds gdasda" ...
- 【c++】删除string中指定的字符
使用string::iterator(字符串迭代器)从开始 str.begin() 迭代到最后 str.end() ,再使用string.erase(const_iterator p)函数来删除迭代器 ...
- 在java中除去字符串(String)中的换行字符(\r \n \t)
我们先来看几个例子: 例1: public class Test { public static void main(String[] args) { String s = "'sds gd ...
随机推荐
- ubuntu jdk install
1.下载jdk-7u75-linux-x64.tar.gz,默认在/home/csf/Downloads 2.csf@ubuntu:~/Downloads$ sudo mkdir /usr/java ...
- Python_列表、字典、字符串、集合操作
一.list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.对于list的操作,我们要学会增删改查. 查 我们可以直接索引查找,也可以通过切片 ...
- 如何使用koa实现socket.io官网的例子
socket.io官网中使用express实现了一个最简单的IM即时聊天,今天我们使用koa来实现一下 ### 框架准备 确保你本地已经安装好了nodejs和npm,使用koa要求node版本> ...
- js数组删除(splice和delete)
最近一直在写js的数组,然后就发现了很奇怪的问题,后来才发现了规律. 删除数据的一行,一般有两种方法,一个是splice,一个是delete: splice:删除了数组后,数组的长度会自动变化.用法: ...
- 【Umezawa's Jitte】真正用起来svn来管理版本
之前用过一次 但是没有真正的用起来 只是知道了一些基本概念 好了 决定开始真正的用这个svn了 参考大神http://www.cnblogs.com/wrmfw/archive/2011/09/08/ ...
- BFS:HDU2597-Dating with girls(2) (分时间标记状态)
Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 其它- in-place
in-place 刷编程题的时候,经常遇到题目要求do in-place.所以就上网搜了相关概念,简单总结一下. in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 ...
- (HTML)写导航感悟
代码要规范,路径要写全 如: .div1 ul li a:link { text-decoration: none; color: white; } .div1 ul li a:visited { t ...
- 洛谷P1067 多项式输出
题目链接:https://www.luogu.org/problemnew/show/P1067 这是一个纯模拟的小怪但是需要注意一些小细节: 1.首项为正没有+号. 2.所有项系数如果是一的话就省略 ...
- loj2092 「ZJOI2016」大森林
ref不是太懂-- #include <algorithm> #include <iostream> #include <cstring> #include < ...