// arr 传入的数组
function querySameSize(arr) {
var hash=[];// 使用哈希数组
for(var i=0;i<arr.length;i++){
if(!hash[arr[i].grading]) {// 没有初始化的数组元素为undefined,undefined++为NaN
hash[arr[i].grading]=1;
}else {
hash[arr[i].grading]++;
};
}
var max=0; // 最多的次数
var maxV; // 出现最多的元素
var second=0; // 第二多的次数
var secondV; // 出现第二多的元素
hash.forEach(function(item,index){ // forEach函数会跳过空元素
if(item >max){
second=max;
secondV=maxV;
max=item;
maxV=index; // 用索引来保存原数组的值
}else if(item >second){
second=item;
secondV=index;
}
});
return {max,maxV,second,secondV};
}
判断数组中出现次数最多和第二多的元素
最新推荐文章于 2022-06-30 20:43:19 发布