function times(arr){
var m=0,times=0//m是数组中的元素,times用来统计出现的次数
// for循环遍历arr数组
for(var i=0i<arr.lengthi++){
if(arr[i]==m){
times++//数组中有相同值就加1
}
}
return times
console.log(times)//这是打印出的出现的次数
}
times([0, 1, 2, 0, 1, 2])
<script>var arr = [1, 5, 84, 4894, 44, 45, 454, 444, 515, 3, 4, 84, 4894, 44, 45, 454, 444, 515, 3, 4, 6, 6, 6, 6, 4]
for (var i = 0i <arr.lengthi++) {
if (arr.indexOf(arr[i]) == i) {
var num = 1
for (var j = i + 1j <arr.lengthj++) {
if (arr[i] === arr[j]) {
num++
}
}
console.log(arr[i] + "出现的次数是:" + num)
}
}
</script>
方法一 、利用对象创建个空对象,遍历目标数组,并根据数组元素是否存在与对象中进行对象属性的添加和次数增加
遍历完数组得出结果对象后,遍历对象找出最多元素和次数
方法二、改良版
去除对象遍历,把比较放到数组遍历种
方法三、利用数组的reduce方法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
reduce方法接受两个参数,第一个是函数,第二个是初始值
函数内接受四个参数:计算后的结果或者初始值,当前值,当前下标,数组本身