失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 辉太郎看前端(查找出字符串或数组中出现次数最多的字符)

辉太郎看前端(查找出字符串或数组中出现次数最多的字符)

时间:2020-05-17 18:27:33

相关推荐

辉太郎看前端(查找出字符串或数组中出现次数最多的字符)

前言

利用字符串中的方法charAt(),返回指定下标位置的字符

字符串

// 1.统计次数var str = 'XMLHttpRequest';// 创建了一个空的对象,存储字符串中的每个字符。属性:每个字符,属性值:该字符出现的次数var obj = {};for (var i = 0; i < str.length; i++) {// 遍历字符串var chars = str.charAt(i);// chars代表字符串的每一个字符// obj[chars]属性值:该字符出现的次数// 如果已经存在,那么次数+1;否则赋值为1if (obj[chars]) {obj[chars]++;} else {obj[chars] = 1;}}console.log(obj);// 输出对象obj,显示每个字符出现的次数// 2.遍历对象,找出最大的次数var max = 0;var ch = '';for (var k in obj) {if (obj[k] > max) {// k代表属性:每个字符max = obj[k];// obj[k]代表属性值:该字符出现的次数ch = k; // 将次数最多的字符赋值到ch}}console.log('最多的字符是' + ch + ',次数为' + max);

数组

利用的方法同上,不过要将数组转换为字符串

//数组中出现次数最多的字符var arr1 = [1, 'a', 1, 3, 4, 1, 'a', 'a', 'a', 'a', 'a', 1, 5, 6, 'q', 'e']var arr = arr1.join('')//将数组转化为字符串var json = {}; //定义对象for (var i = 0; i < arr.length; i++) {if (!json[arr.charAt(i)]) {//判断对象中是否拥有此字符json[arr.charAt(i)] = 1; //没有添加进去,并给属性值为1} else {json[arr.charAt(i)]++; //有数量加一}};var iMax = 0;var iIndex = '';for (var i in json) {//循环对象//判断出现次数是否大于iMax,并将最大值赋值给iMaxif (json[i] > iMax) {iMax = json[i];iIndex = i;}}console.log('出现次数最多的是:' + iIndex + '出现' + iMax + '次');

总结

初出茅庐,请各位大佬多多指教🙂!

如果觉得《辉太郎看前端(查找出字符串或数组中出现次数最多的字符)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。