JavaScript重复元素处理:统计、字节计算与去重实现

作者:代码拾荒

时间:2026-10-22

浏览:600

本文深入解析JavaScript中处理重复元素的多种场景,涵盖统计字符串中出现次数最多的字符、计算含中英文混合字符串的字节长度,以及实现数组和字符串的去重方法。通过哈希表原理与原型链扩展,提供实用的代码示例与工具推荐,帮助开发者高效解决数据清洗问题。

文章目录

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

计算字符串的字节长度

接着介绍如何编写函数,准确计算一个字符串所占用的字节长度。

在此需明确一个基本前提:

英文字符通常占用1个字节,而中文字符通常占用2个字节。

字节长度计算代码实现


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程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章