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中出现最多字符的次数和个数的更多相关文章

  1. Javascript 查找字符串中出现最多的字符和出现的次数

    <script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...

  2. Java-J2SE学习笔记-查找一个String中,subString的出现次数

    1.查找一个String中,subString的出现次数 2.代码 package Test; public class TestStringContain { public static void ...

  3. 使用Set去除String中的重复字符

    使用Set去除String中的重复字符 public class test14 { public static void main(String[] args) { String str = &quo ...

  4. Js练习题之查找字符串中出现最多的字符和个数

    如sssfgtdfssddfsssfssss,出现最多的字符是s,出现了12次 传统写法 分析: 1.准备一个空的json,通过循环字符串的每个字符来看,如果json里没有这个字符,就在json里创建 ...

  5. FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过

    /*统计除了>之外的行里面CHED四个字母总数*/ #include<fstream> #include<iostream> #include<cstring> ...

  6. 【SQL Server 学习系列】-- 获取字符串中出现某字符的次数及字符某次出现的下标

    ) = '1_BB_CC_DD_AA_EE_YY_WW_HH_GG' --// 1. 获取下划线在字符串中出现的次数 SELECT LEN(@Str) - LEN(REPLACE(@Str, '_', ...

  7. java中去除字符串(String)中的换行字符(\r \n \t)

    例1: public class Test { public static void main(String[] args) { String s = "'sds gdasda" ...

  8. 【c++】删除string中指定的字符

    使用string::iterator(字符串迭代器)从开始 str.begin() 迭代到最后 str.end() ,再使用string.erase(const_iterator p)函数来删除迭代器 ...

  9. 在java中除去字符串(String)中的换行字符(\r \n \t)

    我们先来看几个例子: 例1: public class Test { public static void main(String[] args) { String s = "'sds gd ...

随机推荐

  1. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...

  2. AngularJS最佳实践

    1.依赖注入不要用推断式 2.双向绑定的变量设置成$scope下的一个对象的属性 3.多个控制器之间的通信尽量使用service实现,不要使用全局变量或者$rootScope 4.尽量不在控制器中操作 ...

  3. Android驱动开发5-7总结

    Android深度探索5-7章总结 介绍了S3C6410开发板的功能,开发板的不同主要是在烧录嵌入式系统的方式不同,以及如何在此开发板上安装Android.紧接着学到介绍到如何在多种平台,使用多种方式 ...

  4. 2.3.3 zerosum 和为零

    #include<bits/stdc++.h> using namespace std; ],a; ]={' ','+','-'}; void out() { ;i<a;i++) c ...

  5. 2018.10.30 NOIp模拟赛T2 数字对

    [题目描述] 小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题.        她的面前浮现出一个长度为 n 的序列{ai},她想找出一段区间[L, R](1 <= L <= ...

  6. 【Django】Django开发中的日志输出

    开发环境:Ubuntu16.04+Django 1.11.9+Python2.7 一:使用自定义函数输出日志到log文件: import time def print_log(log): file_o ...

  7. 十、Shell 函数

    Shell 函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action ...

  8. mongodb添加管理员密码

    use admin db.createUser( { user: "adminUser", pwd: "adminPass", roles: [ { role: ...

  9. 三步搞定Vmware固定虚拟机的IP

    1.修改vmware的虚拟网络编辑器 按照图中红色方框的方法设置,子网IP可以设置成自己想要的,点击NAT设置,记住网关IP. 2.进入centos虚拟机系统 编辑 vim /etc/sysconfi ...

  10. JavaScript(E5,6) 正则学习总结学习,可看可不看!

    1.概述 正则表达式(实例)是一种表达文本模式(即字符串结构)的方法. 创建方式有两种方式: 一种是使用字面量,以斜杠表示开始和结束. var regex = /xyz/ 另一种是使用RegExp构造 ...