zoukankan      html  css  js  c++  java
  • Js之字符串操作

      --判断字符串中出现次数最多的字符,并统计

      --获取字符串的字节长度

      --字符串去重

    前几天突然想来,以前遇到一些关于字符串的方法然后资料自己写了demo。参考资料就网上随便找的,现在也不知道在哪里就不贴,请大神勿怪!嘻嘻嘻!

    /*
    字符串中找出现次数最多的字符,并记录出现次数
    * 1、判断字符串中出现次数最多的字符,并统计这个字符 * 2、数组中的每个值,赋值给变量 * 3、对其进行判断如果不存在,则该对象的值为1,有值则+1。字符重复的多的值就越大,重复越小,值就越小 * 4、 循环最后的对象找到出现最多的字符,和出现次数 * */ var aa='asjkdajkasdaxscassdsa'; function max_char(arr){ var obj={}; var letter; var max_key; var max_num=0; for(var i=0;i<arr.length;i++){ letter=arr[i]; if(!obj[letter]){ obj[letter]=1 }else{ obj[letter]++; } } for(key in obj){ if(max_num<obj[key]){ //循环对象中key,和max_num比较,最后的max_num就是最大的次数,对应的max_key就是相应的字符 max_num=obj[key]; max_key=key; } } console.log(max_num,max_key) } max_char(aa);//6 "a"

    --获取字符串长度

    /*
       取得字符串的字节长度
    *中文字符一个是两个字节,英文一个字符是一个字节
    * 判断是否是中文字
    *返回长度
    * */
    
        function getStringlength(val){
            var zhlength=0;//设置中文字节长度
            var enlength=0;//设置英文字节长度
            for(var i=0;i<val.length;i++){
                if(val[i].match((/[^x00-xff]/ig)!=null)){//判断是否是汉字,[^x00-xff]十六进制判断全角或是汉字
                    enlength+=1;  //英文字节数+1
                }else{
                    zhlength+=2;//汉字字节数+2
                }
            }
            return zhlength+enlength;//返回所有字节数
        }
    
    
    var  aa='asjkdajkasdaxscassdsa';
    var length=getStringlength(aa);
       console.log(length); //42

    --字符串去重

       /*
        去掉字符串中的重复元素
       * 将数组中的所有值赋给一个中间变量
       * 通过obj[key]对每个值进行识别,已经存在的就跳过,没有的就push到自己开始创建的数组中
       * */
    var  aa='asjkdajkasdaxscassdsa';
       var arr=[];
       var obj={};
        var letter;
        function delelteChars(val){
            for(var i=0;i<val.length;i++){
                letter=val[i];
                if(!obj[letter]){//判断obj[letter]有没有值
                    obj[letter]=1;//如果没有则对他进行赋值
                    arr.push(letter)
                }
            }
            return arr;
        }
    
    var chars=delelteChars(aa)
        console.log(chars);
    //(截的图)

     以上就是当时想到的写的,应该还有更好的方法,会继续学习!

      

  • 相关阅读:
    webstorm 格式化代码及常用快捷键
    Jetbrains 2018 等系列软件激活破解除去黄色警告框方法(含多个平台)
    HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
    为什么macos开机黑屏但是有声音?
    mac 回车键、空格键失灵(非物理原因)解决方法
    在VS代码中使用版本控制
    在Visual Studio代码中使用Flask
    [IOI1999]花店橱窗布置(DP路径记录)
    leetcode:Minimum Path Sum(路线上元素和的最小值)【面试算法题】
    c/c++ 复习基础要点01-const指针、指针函数 函数指针、new/delete与malloc/free区别与联系
  • 原文地址:https://www.cnblogs.com/sisiliu/p/6016304.html
Copyright © 2011-2022 走看看