用户输入15个数,分别将接收到数字依次存入数组中。[只能输入个位数 0-9]输入结束后,页面显示如下结果:
0出现了.多少次
1出现了多少次
等等
9出现了多少次
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>
可以参照这个 。