javascript - Js算法问题:判断一组数字中有几组相同的数字并计算相同数字个数?
大家讲道理
大家讲道理 2017-04-11 12:28:28
[JavaScript讨论组]

比如1,2,2,5,9这组数字,有一组相同的数字为2,相同个数为2。1,1,3,3,3有两组相同数字,一组相同数字为1,相同个数为2,一组相同数字为3,相同个数为3。
现在要求写一个函数,随便输入一组数字就得出这样的结果,该怎么写?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
高洛峰
var count={};
for (var i = 0; i < array.length; i++) {
    if (count[array[i]]) {
        count[array[i]]++;
    }else {
        count[array[i]]=1;
    }
}
for (var key in count) {
    if (count.hasOwnProperty(key)) {
        console.log(key+':'+count[key]+'times');
    }
}
黄舟

楼上的稍显不完备

function fengxi(array){
    var count={};
    for (var i = 0; i < array.length; i++) {
        if (count[array[i]]) {
            count[array[i]]++;
        }else {
            count[array[i]]=1;
        }
    }
    var out=[];
    for (var key in count) {
        if (count[key]>1) {
            out.push({"key":key,"count":count[key]})
        }
    }
    var rt="输入数组中存在"+out.length+"组重复数字,它们是:\n"
    for (var i=0;i<out.length;i++){
        rt=rt+out[i][key]+"重复了"+out[i][count]+"次\n";
    }
    return rt;
}
console.log( fengxi([1,1,3,3,3]) );
PHPz
function getSameNumber(array){
    return array.reduce(function(p,n){
        if(!p[n]){
            p[n] = 1;
        }else{
            p[n] += 1
        }
        return p
    },{});
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号