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

 更新时间:2017年12月14日 12:08:32   作者:Shower稻草人  
这篇文章主要介绍了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);

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

假设:

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

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

相关文章

  • javascript document.compatMode兼容性

    javascript document.compatMode兼容性

    文档模式在开发中貌似很少用到,最常见的是就是在获取页面宽高的时候,比如文档宽高,可见区域宽高等。
    2010-02-02
  • JavaScript实现简单的倒计时效果

    JavaScript实现简单的倒计时效果

    这篇文章主要为大家详细介绍了JavaScript实现简单的倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 用JS实现飞机大战小游戏

    用JS实现飞机大战小游戏

    这篇文章主要为大家详细介绍了用JS实现飞机大战小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • js代码实现轮播图

    js代码实现轮播图

    这篇文章主要为大家详细介绍了js代码实现轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • javascript解析xml字符串的函数

    javascript解析xml字符串的函数

    在使用操作XML文件时,我们可以使用Load方法直接加载xml文件即可,在ie和ff下通用。
    2008-06-06
  • 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别

    关于js中window.location.href,location.href,parent.location.href

    关于js中window.location.href,location.href,parent.location.href,top.location.href的用法
    2010-10-10
  • js对象简介与基本用法示例

    js对象简介与基本用法示例

    这篇文章主要介绍了js对象简介与基本用法,结合实例形式分析了JavaScript对象的概念、功能、基本用法与操作注意事项,需要的朋友可以参考下
    2020-03-03
  • uniapp App端使用高德地图超详细步骤

    uniapp App端使用高德地图超详细步骤

    地图现在已经渗入到生活的方方面面,给生活带了极大的编译,那么我们如何才能在项目中引入地图呢?这篇文章主要给大家介绍了关于uniapp App端使用高德地图超详细步骤的相关资料,需要的朋友可以参考下
    2023-11-11
  • 微信小程序开发之你可能没有踩过的神坑总结

    微信小程序开发之你可能没有踩过的神坑总结

    最近在做一个小程序的项目,所以记录下开发过程中遇到的坑,这篇文章主要给大家介绍了关于微信小程序开发之你可能没有踩过的神坑,需要的朋友可以参考下
    2021-09-09
  • javascript动态创建链接的方法

    javascript动态创建链接的方法

    这篇文章主要介绍了javascript动态创建链接的方法,涉及javascript动态操作页面元素的技巧,需要的朋友可以参考下
    2015-05-05

最新评论