本文实例讲述了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.zyiz.net/code/quchong
在线文本去重复工具:
http://tools.zyiz.net/aideddesign/txt_quchong
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。