一.题目
统计数组 arr 中值等于 item 的元素出现的次数
输入例子:
count([1, 2, 4, 4, 3, 4, 3], 4)
输出例子:
3
二.分析
题目很简单,实现方式也很多,但之所以把它单独拿出来,主要是可以复习JS强大的迭代方法,废话不说放干货!!
上面的方法,every,some没法用。其他的加上平常用的for,while,掐指一算就很多了
三,代码(for,while的就不写了)
filter()
function count(arr, item) {
var count = arr.filter(function(e) {
return e === item;
});
return count.length;
}
map()
function count(arr, item) {
var count = 0;
arr.map(function(a) {
if(a === item) {
count++;
}
});
return count;
}
reduce()
function count(arr, item) {
var count = arr.reduce(function(prev, curr) {
return curr === item ? prev+1 : prev;
}, 0);
return count;
}
forEach()
function count(arr, item) {
var count = 0;
arr.forEach(function(a) {
a === item ? count++ : 0;
});
return count;
}