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 相关文章推荐
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
Jul 07 Javascript
js自动查找select下拉的菜单并选择(示例代码)
Feb 26 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
js中call()和apply()改变指针问题的讲解
Jan 17 Javascript
ES6 如何改变JS内置行为的代理与反射
Feb 11 Javascript
webpack4实现不同的导出类型
Apr 09 Javascript
js变量值传到php过程详解 将php解析成数据
Jun 26 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 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实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
jquery过滤特殊字符',防sql注入的实现方法
2016/08/17 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
python判断windows隐藏文件的方法
2014/03/21 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python模块文件结构代码详解
2018/02/03 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python中文编码知识点
2019/02/18 Python
学习python分支结构
2019/05/17 Python
Django Rest framework权限的详细用法
2019/07/25 Python
如何基于python实现归一化处理
2020/01/20 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
财务会计专业毕业生自荐信
2013/10/19 职场文书
绩效工资实施方案
2014/03/15 职场文书
优秀食品类广告词
2014/03/19 职场文书
学校标语大全
2014/06/19 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
《藏戏》教学反思
2016/02/23 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
详解Redis复制原理
2021/06/04 Redis
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis