查找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 ...
随机推荐
- 逗塔战争TD新人入门图文攻略
逗塔战争TD新人入门图文攻略 <逗塔战争TD>是一张基于DOTA改编的塔防TD,很多玩家都很喜欢这张图,新手玩家怎么快速上手这张图呢?这张图的玩法和基本规则并不难,下面就为大家带来新人 ...
- wepy框架构建小程序(1)
wepy框架构建小程序(1) 基本操作: # 安装脚手架工具 npm install wepy-cli -g # 创建一个新的项目 npm init standard myproject # 进入新项 ...
- FILE对象线程安全
根据apue讲述: 标准的IO例程可能从它们各自的内部数据结构的角度出发,是以线程安全的方式实现的!但在线程中,如果标准 IO例程都获取它们各自的锁,那么在做一次一个字符的IO时就会出现严重的性能下降 ...
- 【IDEA】热部署插件Jrebel破解安装
JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...
- 固定table的表头同时固定列
table表格是我们最常使用的数据显示一种形式,但有时候数据比较多的时候 就需要我们去固定表头,固定列.我这里用简单的css样式配合两句js脚本来实现,希望能够去帮到你. <div class= ...
- PHP之基本目录操作
一.创建目录 mkdir ($pathname, $mode = 0777, $recursive = false, $context = null) $pathname: 目录路径 $mode : ...
- JS的四舍五入问题
最近踩了一个坑,mark一下toFixed四舍五入问题,详见代码: var myFixed = function(num, fix) { num = (parseFloat(num) * + ) / ...
- centos 关闭AliYunDun
执行命令: service aegis stop #停止服务 chkconfig --del aegis # 删除服务
- [USACO]奶牛抗议(DP+树状数组+离散化)
Description 约翰家的N头奶牛聚集在一起,排成一列,正在进行一项抗议活动.第i头奶牛的理智度 为Ai,Ai可能是负数.约翰希望奶牛在抗议时保持理性,为此,他打算将所有的奶牛隔离成 若干个小组 ...
- C语言用一维数组打印杨辉三角(原:无意中想到)
本贴地址 ] = { }; a[] = , a[] = ; int i, j,m; ; i <= ; i++) //2-11 输出10行 { ; j > ; j--) //关键在这句,倒着 ...