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());            

 

posted on 2014-07-11 11:54  Shower稻草人  阅读(217)  评论(0编辑  收藏  举报