资讯专栏INFORMATION COLUMN

计算数组元素重复的个数,并把出现次数相同的统计一起。

missonce / 657人阅读

摘要:计算数字的重复个数数字值为出现的次数为请输入正确的数字分隔符计算重复个数相同的数字对象对象出现的次数为出现这些次数的数字为出现的次数数字运行结果输入出现的次数数字出现的次数数字

简单的一点样式

html结构




js代码
function getCount() {
    // 初始化
    document.getElementById("result").innerHTML = "";
    var num = document.getElementById("num").value;
    var numSplit = document.getElementById("numSplit").value;
    var countSplit = document.getElementById("countSplit").value;
    var countObj = new Object();
    var resultObj = new Object();
    // 正则匹配数字间的任意符号并把分隔符替换成,
    var reg = /[`~!@#$%^&*()-+_=;:""<,.>?/|%·!¥……()——【】、;:’“‘”,《》。?]/g;
    num = num.replace(reg, ",");
    countSplit = countSplit || "/";
    // 计算数字的重复个数
    if (num.indexOf(numSplit) !== -1) {
        var arr = num.split(numSplit);
        for (var i = 0; i < arr.length; i++) {
            // arr[i]数字值为key,出现的次数为value
            countObj[arr[i]] = countObj[arr[i]] ? countObj[arr[i]] + 1 : 1;
        }
    } else {
        alert("请输入正确的数字分隔符");
    }
    // 计算重复个数相同的数字
    // countObj对象
    // 1 i :2 countObj[i],   
    // 2:2,
    // 3:1,
    // 4:2,
    // resultObj对象
    // 2 countObj[i]:1/2/4 i,
    // 1:3
    for (i in countObj) {
       // 出现的次数为key, 出现这些次数的数字为value. 
        resultObj[countObj[i]] = resultObj[countObj[i]] ? resultObj[countObj[i]] + countSplit + i : i;
    }
    var newkey = Object.keys(resultObj).reverse();
    for (var i = 0; i < newkey.length; i++) {
        document.getElementById("result").innerHTML += "出现的次数:" + newkey[i] + ",    数字:" + resultObj[
        newkey[i]] +"
"; } }

运行结果:

输入1,2,3,4,5,2,3,4 

出现的次数:2, 数字:"2/3/4"
出现的次数:1, 数字:"1/5"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100491.html

相关文章

  • 计算数组元素重复个数并把出现次数相同统计一起

    摘要:计算数字的重复个数数字值为出现的次数为请输入正确的数字分隔符计算重复个数相同的数字对象对象出现的次数为出现这些次数的数字为出现的次数数字运行结果输入出现的次数数字出现的次数数字 简单的一点样式 label{display: block; margin-bottom: 10px;} input{width: 20px; line-height: 20px; paddin...

    LuDongWei 评论0 收藏0
  • 力扣周结03

    摘要:示例输入输出示例输入输出说明输出结果中的每个元素一定是唯一的。示例输入输出示例输入输出说明输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。在完成所有重复项删除操作后返回最终的字符串。 ...

    Render 评论0 收藏0
  • 常见大数据和空间面试题

    摘要:答案使用,申请一个长度为类型的,每个位置只表示或,该数组占用空间约。遍历亿个数,当前数为,落在区间,对应。 过滤100亿黑名单 题目 假设有100亿个URL的黑名单,每个URL最多占用64B,设计一个过滤系统,判断某条URL是否在黑名单里。 要求 不高于万分之一的判断失误率;额外内存不超过30GB 答案 100亿个64B的URL需要640GB的内存,显然直接存哈希表不合理。考虑布隆过滤...

    Hydrogen 评论0 收藏0
  • LintCode547/548_求数组交集不同解法小结

    摘要:求数组交集不同解法小结声明文章均为本人技术笔记,转载请注明出处求数组交集要求元素不重复,给出两个数组,求二者交集且元素不重复,查找会超时解法一排序二分查找算法超时主要发生在大数组查找过程,因此采用二分查找提升查找效率,交集用保存实现去重解法 LintCode547/548_求数组交集不同解法小结 [TOC] 声明 文章均为本人技术笔记,转载请注明出处:[1] https://segme...

    gxyz 评论0 收藏0
  • JavaScript中算法(附10道面试常见算法题解决方法和思路)

    摘要:中的算法附道面试常见算法题解决方法和思路关注每日一道面试题详解面试过程通常从最初的电话面试开始,然后是现场面试,检查编程技能和文化契合度。值得记住的数组方法有和。一个好的解决方案是使用内置的方法。 JavaScript中的算法(附10道面试常见算法题解决方法和思路) 关注github每日一道面试题详解 Introduction 面试过程通常从最初的电话面试开始,然后是现场面试,检查编程...

    Cruise_Chan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<