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


Posted in Javascript onDecember 14, 2017

本文实例讲述了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());
Javascript 相关文章推荐
jquery实现简单的全选和反选功能
Jan 02 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
Bootstrap模块dropdown实现下拉框响应
May 22 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
May 31 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
jQuery实现模拟flash头像裁切上传功能示例
Dec 11 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 Javascript
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
React中this丢失的四种解决方法
Mar 12 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
Aug 12 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 #Javascript
浅谈es6 javascript的map数据结构
Dec 14 #Javascript
利用Javascript实现一套自定义事件机制
Dec 14 #Javascript
vue登录注册及token验证实现代码
Dec 14 #Javascript
基于vue 实现token验证的实例代码
Dec 14 #Javascript
JavaScript实现左侧菜单效果
Dec 14 #Javascript
JavaScript实现全选取消效果
Dec 14 #Javascript
You might like
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
JavaScript定时显示广告代码分享
2015/03/02 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
jQuery插件Echarts实现的渐变色柱状图
2017/03/23 jQuery
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
判断js数据类型的函数实例详解
2019/05/23 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[36:43]NB vs Optic 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
Python读写文件基础知识点
2019/06/10 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
几个常见的软件测试问题
2016/09/07 面试题
客户答谢会活动方案
2014/08/31 职场文书