去重除了indexOf的其他方法(使用对象Key的方法)及统计重复次数
2024-10-21 07:33:03
1、去重:
法1:使用数组IndexOf去重
法2:使用对象Key:
<script> var arr1 = [1,13,24,11,11,14,1,2];
let unique = function(arr) {
let hashTable = {};
let data = [];
for(let i=0,l=arr.length;i<l;i++) {
alert(!hashTable[arr[i]]);
if(!hashTable[arr[i]]) {
hashTable[arr[i]] = true;
data.push(arr[i]);
}
}
console.log(hashTable);
return data;
}
console.log(unique(arr1));
</script>
2、找出字符串中出现次数最多的字符及显示次数
法1、使用indexOf循环
//var str = "ssraetadsdafaerasssssdajigaf";
var str = "fffffff";
var strr = "";
var ci = 0;
var Lastname = "";
var Lastci = 0;
var ind = 0;
var flag1 = 0;
for(var i = 0;i<str.length;i++){
// console.log(str.charAt(i));
// console.log(strr);
if(strr.indexOf(str.charAt(i))!=-1){
//alert(strr.indexOf(str.charAt(i)));
continue;
}
//不加这个判断运行166次,加上以后运行38次
v1 : for(var j = 0;j<str.length+1;j++){
var indd = str.indexOf(str.charAt(i),ind);
ind = indd+1;
flag1++;
if(indd == -1){
ci = j;
ind = 0;
if(ci>=Lastci){
Lastci = ci;
Lastname = str.charAt(i);
}
break v1;
}
}
strr += str.charAt(i);
}
console.log("运行次数"+flag1);
console.log("出现最多的字母"+Lastname);
console.log("出现最多的次数"+Lastci);
//循环次数为arr.length+1,否则会影响类似ffffff这种字符串的判断。
法2:使用对象key值的方法
//法2:使用对象key值实现
function findMaxDuplicateChar(str) {
if(str.length == 1) {
return str;
}
let charObj = {};
for(let i=0;i<str.length;i++) {
if(!charObj[str.charAt(i)]) {
charObj[str.charAt(i)] = 1;
}else{
charObj[str.charAt(i)] += 1;
}
}
let maxChar = '',
maxValue = 1;
for(var k in charObj) {
if(charObj[k] >= maxValue) {
maxChar = k;
maxValue = charObj[k];
}
}
return maxChar;
}
最新文章
- Winform 图片鼠标滚动查看(放大,缩小,旋转,拖动查看)[日常随笔]
- Java—Servlet开发
- October 14th 2016 Week 42nd Friday
- asp 实现域名转向
- [转]VC的DDK编译环境构建
- elasticsearch中的概念简述
- Activity中的startActivityResult,setResult,finish,onActivityResult的关系
- 四巧工作简化法(ECRS)
- 如何交叉编译开源库-->;编译c-ares库从失败到成功的过程[ocean]
- stm32 RAM分配及占有(转)
- Qt之QComboBox定制(二)
- BeautifulSoup模块过滤掉html标签,只拿文本内容(处理XSS攻击)
- 关于wifi网络基本原理了解
- Tcp端口以及端口相关协议详解
- loj#2353. 「NOI2007」 货币兑换 斜率优化
- 腾讯TBS X5 WebView的简单使用
- CodeForces - 950C Zebras 模拟变脑洞的天秀代码
- Fatal error: Cannot use object of type PHPExcel_RichText as array
- OpengGL中图形绘制先后问题
- Linux中jar包指定端口启动并记录日志