JS触题生情 遍历输出

来源:互联网 发布:淘宝爽yy插件官网 编辑:程序博客网 时间:2024/06/08 15:41

一.题目
统计数组 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;    }
1 0