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

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

      

  • 相关阅读:
    [SoapUI] 在执行某个TestSuite之前先执行login或者其他什么前置步骤
    [Groovy] How to check if element in groovy array/hash/collection/list?
    [Groovy] List和Map用法搜集
    [Groovy] 实战 Groovy, for each 剖析
    Groovy基本语法
    [BAT] xcopy拷贝远程服务器共享文件到本地
    [BAT] Access Denied in XCopy
    [BAT] 执行xcopy命令后出现Invalid num of parameters错误的解决办法
    [Automation] 自动化测试度量标准
    jsp页面直接编写csss
  • 原文地址:https://www.cnblogs.com/sisiliu/p/6016304.html
Copyright © 2020-2023  润新知