• JavaScript重复元素处理


    判断一个字符串中出现次数最多的字符,统计这个次数

    //将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数
    var str = "abcdefgaddda";
    var obj = {};
    for (var i = 0, l = str.length; i < l; i++) {
       var key = str[i];
       if (!obj[key]) {
          obj[key] = 1;
       } else {
          obj[key]++;
       }
    }
    /*遍历这个hash table,获取value最大的key和value*/
    var max = -1;
    var max_key = "";
    var key;
    for (key in obj) {
       if (max < obj[key]) {
          max = obj[key];
          max_key = key;
       }
    }
    alert("max:"+max+" max_key:"+max_key);

    编写一个方法 求一个字符串的字节长度

    假设:

    一个英文字符占用一个字节,一个中文字符占用两个字节

    function GetBytes(str){
        var len = str.length;
        var bytes = len;
        for(var i=0; i<len; i++){
            if (str.charCodeAt(i) > 255) bytes++;
        }
        return bytes;
    }
    alert(GetBytes("你好,as"));

    编写一个方法 去掉一个数组的重复元素

    var arr = [1 ,1 ,2, 3, 3, 2, 1];
    Array.prototype.unique = function(){
        var ret = [];
        var o = {};
        var len = this.length;
        for (var i=0; i<len; i++){
            var v = this[i];
            if (!o[v]){
                o[v] = 1;
                ret.push(v);
            }
        }
        return ret;
    };
    alert(arr.unique());

     编写一个方法 去掉一个字符串中的所有重复元素

               var arr = '112332454678';
                String.prototype.unique = function(){
                    var ret = [];
                    var o = {};
                    var len = this.length;
                    for (var i=0; i<len; i++){
                        var v = this[i];
                        if (!o[v]){
                            o[v] = 1;
                        } else {
                            o[v] = 2;
                        }
                    }
                    for(var k in o){
                        if (o[k]==1) {
                            ret.push(k);
                        };
                    }
                    return ret;
                };
                alert(arr.unique());            
  • 相关阅读:
    暴力+前缀和——cf1335E
    【经典】区间dp——cf1336E
    简单几何+并查集 —— 2015NAQ K
    spring mvc 文件上传 和 异常页面处理
    ajax 入门
    Codeforces Round #558 (Div. 2)
    [SDOI2019]热闹又尴尬的聚会(图论+set+构造)
    [SDOI2019]移动金币(博弈论+阶梯Nim+按位DP)
    [ZJOI2019]浙江省选(半平面交)
    [ZJOI2019]开关(生成函数+背包DP)
  • 原文地址:https://www.cnblogs.com/showersun/p/3837408.html
Copyright © 2020-2023  润新知