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);
    //(截的图)

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

      

  • 相关阅读:
    Android系统自带样式(android:theme)详解-(转)
    android 查看解压后的.xml文件代码(axmlprinter2)
    android 反编译apktool工具
    Android 解读.apk解压后文件详细说明
    android 利用线程刷新UI方法
    (转)android.intent.action.MAIN与android.intent.category.LAUNCHER
    android xml 布局错误(黑掉了)Missing styles. Is the correct theme chosen for this layout?
    Android应用程序“.R文件”消失怎么办
    android WebView网页浏览器
    Android 命名规范 (提高代码可以读性) -转
  • 原文地址:https://www.cnblogs.com/sisiliu/p/6016304.html
Copyright © 2011-2022 走看看