/**//*
功能:统计、去除重复字符
@param str 需要统计的字符串
说明:常用于字符串中重复字符,或者数组中重复的字母、数字等个数统计。
此处从网上收集两种典型的类型,分别有两种实现方法,其他还有许多变种,从不同角度编写,可搜索学习。
待统计的数据,不论是数组和字符串都可以,只用借助String.split()或 Array.join()
转换为函数参数要求的类型即可。
*/
// 类型一:借助新建对象来保存数据
代码如下 | 复制代码 |
var count1 = function (str) { var map = {}, maxCount = 0, maxChar, undefined, i = str.length; while (i--) { var t = str.charAt(i); map[t] == undefined ? map[t] = 1 : map[t] += 1; if (map[t] > maxCount) { maxChar = t; maxCount = map[maxChar]; } } return "字符:" + maxChar + "次数:" + maxCount; } function s_0(a) { // 此处参数应为数组类型 |
// 类型二:正则表达式匹配统计
代码如下 | 复制代码 |
var count2 = function (str) { var most = str.split('').sort().join('').match(/(.)1*/g); //排列重复字符 most = most.sort(function (a, b) { return a.length - b.length }).pop(); //按出现频繁排序 return most.length + ': ' + most[0]; } function s_1(a) { |
时间: 2025-01-07 04:27:41