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 相关文章推荐
IE8对JS通过属性和数组遍历解析不一样的地方探讨
May 06 Javascript
轻松实现javascript数据双向绑定
Nov 11 Javascript
Bootstrap每天必学之前端开发框架
Nov 19 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
javascript中BOM基础知识总结
Feb 14 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
Node.js Buffer用法解读
May 18 Javascript
vue使用Font Awesome的方法步骤
Feb 26 Javascript
vue使用Proxy实现双向绑定的方法示例
Mar 20 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 Javascript
夯基础之手撕javascript继承详解
Nov 09 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
第三节--定义一个类
2006/11/16 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
在Linux下调试Python代码的各种方法
2015/04/17 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
pandas数值计算与排序方法
2018/04/12 Python
浅谈django orm 优化
2018/08/18 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
八年级美术教学反思
2014/02/02 职场文书
资源工程专业毕业生求职信
2014/02/27 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL