查找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 ...
随机推荐
- Scanner和 Random类,控制语句的例题,商品管理(直接赋值)
Scanner类的使用: import java.util.Scanner; class Demo02 { public static void main(String[] args) { //1.导 ...
- 基础篇(2):c++顺序结构程序设计
一个程序最基本的结构莫过于3种:顺序,选择,循环.这篇讲讲顺序结构. c++语言的运算符与表达式数量之多,在高级语言中是少见的,也使得它的语言功能十分完善. c++的运算符有单目与双目之分(作用于一个 ...
- Linux 服务器用户权限管理改造方案与实施项目
Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...
- spark入门: wordcount-java
wordcount-java: pom.xml文件如下: <dependencies> <dependency> <groupId>junit</groupI ...
- Codeforces Round #271 (Div. 2) D Flowers【计数dp】
D. Flowers time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input ...
- PAT basic 1086
1086 就不告诉你 (15 分) 做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三.”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积. 输入格式 ...
- #2 create and populate a database && realistic and practical applications (PART 2)
Extends from the last chapter , This chapter takes a look at some real-world problems that can occur ...
- P3386 【模板】二分图匹配(匈牙利&最大流)
P3386 [模板]二分图匹配 题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正 ...
- mysql中外联和 is null 结合使用
今天学习mysql ,碰到了一个问题:有部门表,员工表,员工表中有一个部门表的外键,查询没有员工的部门名称. 表结构如下: 员工表employees: 部门表department表: 题目很简单呢,信 ...
- Struts1 部分源码学习
Struts1工作原理 1.系统初始化(读取配置):初始化ModuleConfig对象 Struts框架是一个总控制器(ActionServlet)是一个Servlet,在web.x ...