用户输入15个数,分别将接收到数字依次存入数组中。[只能输入个位数 0-9]输入结束后,页面显示如下结果:
0出现了.多少次
1出现了多少次
等等
9出现了多少次
javascript 循环练习题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 崽崽的谷雨 2022-02-25 16:04关注
function getCount(arr, rank,ranktype){ var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; i < len; i++) { k = arr[i]; if (obj[k]) obj[k]++; else obj[k] = 1; } //保存结果{el-'元素',count-出现次数} for (var o in obj) { arr1.push({el: o, count: obj[o]}); } //排序(降序) arr1.sort(function (n1, n2) { return n2.count - n1.count }); //如果ranktype为1,则为升序,反转数组 if(ranktype===1){ arr1=arr1.reverse(); } var rank1 = rank || arr1.length; return arr1.slice(0,rank1); } let v=getCount([1,2,3,1,2,5,2,4,1,2,6,2,1,3,2])//默认情况,返回所有元素出现的次数 console.log(v)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> </style> </head> <body> <input type="number" id="num"> <button onclick="addNum()"> 添加 </button> <div id="count"></div> <div id="text"></div> </body> <script> function getCount(arr, rank, ranktype) { var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; i < len; i++) { k = arr[i]; if (obj[k]) obj[k]++; else obj[k] = 1; } //保存结果{el-'元素',count-出现次数} for (var o in obj) { arr1.push({ el: o, count: obj[o] }); } //排序(降序) arr1.sort(function (n1, n2) { return n2.count - n1.count }); //如果ranktype为1,则为升序,反转数组 if (ranktype === 1) { arr1 = arr1.reverse(); } var rank1 = rank || arr1.length; return arr1.slice(0, rank1); } let arr=[]; function addNum(){ let num=document.getElementById("num"); if(num.value>10){ alert("只能输入0-10") return }else{ arr.push(num.value); if(arr.length>15){ alert("只能输入15个数字") return } let count=document.getElementById("count"); count.innerText=`已加入${arr.length}个`; let text=document.getElementById("text"); text.innerText=arr; let v = getCount(arr);//默认情况,返回所有元素出现的次数 console.log(v,"88") num.value=null; } } </script> </html>
可以参照这个 。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 如何用js写一个游戏云存档
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子
- ¥30 C++行情软件的tick数据如何高效的合成K线