JavaScript重复元素处理方法分析【统计个数、计算、去重复等】

本文实例讲述了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());

PS:这里再为大家提供几款去重复工具供大家参考使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。