zoukankan      html  css  js  c++  java
  • 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());            
  • 相关阅读:
    第12组(78) Beta冲刺 (2/5)(组长)
    第12组 Beta冲刺 (1/6)(组长)
    软工实践个人总结
    第 02 组 每周小结 (3/3)
    第02组 每周小结(2/3)
    第02组 每周小结 (1/3)
    第02组Beta冲刺 总结
    第02组Beta冲刺(5/5)
    第02组Beta冲刺(4/5)
    第02组Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/showersun/p/3837408.html
Copyright © 2011-2022 走看看