获取数组中出现次数最多的字母(使用对象的方法)

来源:互联网 发布:淘宝电脑主机便宜原因 编辑:程序博客网 时间:2024/06/06 09:05
<!DOCTYPE html><html><head lang="zh-CN">    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>    <title></title></head><body><script>    var arr = ['a','x','b','d','m','a','k','m','p','j','a'];     //定义一个result对象    var result={};    arr.forEach(function(item,index){        //将arr数组的值,作为result对象的键key        var key = result[item];        if(key){            //key.num为字母出现的次数            key.num+=1;            //key.position[]存放出现的位置            key.position.push(index);        }else{            result[item]={num:1,position:[index]};        }    });    //获取排序后最大的键名    var maxChar = Object.keys(result).sort(function(a,b){        return result[a].num < result[b].num;    })[0];    alert('出现次数最多的字母是:'+maxChar+',共出现了'+ result[maxChar].num +'次,它在数组中的位置是:'+ result[maxChar].position);</script></body></html>
0 1
原创粉丝点击