zoukankan      html  css  js  c++  java
  • 数组去重;字符串按千位分割;找出出现最多的字符

    1.数组去重:

    function splicearr(arr){

    var objects={};
    var newarr=[];
    //把数组元素放在对象中(对象是键值对,成对出现,让取出的元素作为键,值随便赋值为1)
    for(var i=0;i<arr.length;i++){
    objects[arr[i]]=1;
    }
    //把键取出来放在数组中
    for(var key in objects)
    {
    newarr.push(key);
    }
    return newarr;
    }
    var x=[1,2,3,2];
    alert(splicearr(x));

    2.千位分割

    function splice(numbers){
    var str="";
    //numbers="123456789"判断是否是4位的整数,不是就直接截取给str; 截取结果为1,
    var remaider=numbers%4;
    if(remaider%4!=0){
    str+=numbers.substring(0,remaider);
    str+=",";
    }
    //把剩下的字符长度,每四位截取出来
    for(var i=remaider;i<numbers.length;i+=4){
    str+=numbers.substring(i,i+4);
    str+=",";
    }
    //把最后一个逗号截取掉
    return str.substring(0,str.length-1);
    }
    var sp=splice("1234568974");
    alert(sp);

    3.找出出现最多的字符

    function max_strip(str){
    /*例如 一个字符串sabac
    把每一个字符串截取出来放到对象中,利用键值对的键不会重复这一特性
    */
    var objects={};
    for(var i=0;i<str.length;i++){
    if(!(str[i] in objects)){//判断对象的键是否存在,不存在就为键赋值为1,存在就另值加1
    objects[str[i]]=1;
    }else
    {
    objects[str[i]]+=1;
    }
    }
    /*到此得到的结果为{s:1,a:2,b:1,c:1}*/
    //取出对象中值最大的数,切对应的键
    var num=0;//声明用来接受最大值的变量
    var letter="";//存储最大值对应的键
    for(var key in objects){
    if(objects[key]>num){
    num=objects[key];
    letter=key;
    }
    }
    return [letter, num];
    }
    var maxstrip=max_strip("sdabacc");
    alert("出现最多的字符是:"+maxstrip[0]+"出现的次数为:"+maxstrip[1]);

     

     

     

     

     

     

     

     

  • 相关阅读:
    十七、mysql数据库备份
    消费端ACK和重回队列
    RabbitMQ TTL、死信队列
    消费端限流策略
    029异常处理
    028class_part2
    027class_part1
    026json和pickle,xml模块
    025__name__变量和目录结构规范
    024模块的概念
  • 原文地址:https://www.cnblogs.com/hfxm/p/5220610.html
Copyright © 2011-2022 走看看