为了账号安全,请及时绑定邮箱和手机立即绑定

数组内元素出现次数统计。

数组内元素出现次数统计。

SunNeverGiveUp 2017-04-20 12:13:42
例如var arr=['p','p','s','m','j','s'];用函数,求出每个元素出现次数,老师讲的好绕人,听不懂。。。。。求达人解惑。
查看完整描述

3 回答

已采纳
?
西兰花伟大炮

TA贡献376条经验 获得超318个赞

var arr=['p','p','s','m','j','s'];
        function getArrNum(array){
            var result = {};
            for(var i = 0;i < array.length;i++){
                if(!result[array[i]]){
                    result[array[i]] = 1;
                }else{
                    result[array[i]]++;
                }
            }
            for(item in result){
                console.log(item + ":" + result[item]);
            }
        }
        getArrNum(arr);

大概思路就是循环数组,将数组存入对象,如果存在就+1,再遍历输出

查看完整回答
1 反对 回复 2017-04-20
?
千秋此意

TA贡献158条经验 获得超187个赞

/**
 * 统计数组中元素出现的次数
 * @param  arr   需要统计的数组
 * @param  elem  数组中的某个元素(可省略)
 * @return 同时传入arr和elem两个参数时返回elem在arr中出现的次数,省略elem时则返回一个包含整个数组中所有元素和其出现次数的对象;
 */
function countInArr(arr, elem) {
    var result = {};
    for (var i = 0; i < arr.length; i++) {
        if (result[arr[i]]) {
            result[arr[i]] ++;
        } else {
            result[arr[i]] = 1;
        }
    }
    return elem && result[elem] ? result[elem] : result;
}

和楼上一样的思路,写都写了还发上来吧=。=

查看完整回答
1 反对 回复 2017-04-20
  • 3 回答
  • 0 关注
  • 1442 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信