zoukankan      html  css  js  c++  java
  • 牛客网前端编程:统计数组 arr 中值等于 item 的元素出现的次数

    //方法一:最普遍的一种:for循环
            function count(arr, item) {
                var cnt=0;
                for (var i = 0;i<arr.length;i++){
                    if (arr[i]===item){
                        cnt++;
                    }
                }
                return cnt;
            }
     //方法二:使用filter
            //filter(function(currentValue, index,arr))
            //当有三个参数时:数组当前值,数组当前索引,该数组名称
            //当有一个参数时:数组当前值
            //filter返回的为符合函数条件的数组,且不改变原数组
            function count1(arr, item) {
                var cnt= arr.filter(function (a) {
                   return  a===item;
                })
                return cnt.length;
            }
     //方法三:使用map函数
            //map函数和filter有点像,但是map是对数组中的所有元素进行复核函数条件的处理,最终得到的是一个新数组,元素个数不变
            //filter函数虽然也是返回一个新数组,但是元素的个数等于复核函数条件的元素总和,
            function count2(arr, item) {
                var cnt = 0;
                arr.map(function (a) {
                    if (a===item){
                        cnt++;
                    }
                })
                return cnt;
            }
    //方法五:foeEach,我觉得和for挺像的
            function count4(arr, item) {
                var cnt = 0;
                arr.forEach(function (a) {
                    a===item ? cnt++ : cnt;
                })
                return cnt;
            }
    //方法四:使用reduce
            //reduce(function (init,curr,curr_index),initialValue)
            //其中init:初始元素;curr:当前元素;curr_index:当前元素索引;initialValue:函数初始值;
            //init和curr是必须的,其他参数可选
            function count3(arr, item) {
                var cnt = arr.reduce(function (init,curr) {
                    //如果当前置等于item,该函数值加一
                    return curr === item ? init+1:init;
                },0)
                return cnt;
            }
  • 相关阅读:
    【Python】使用codecs模块进行文件操作及消除文件中的BOM
    Vue公共结果页面实现
    vscode调整字体大小
    vue-cli3使用vue-svg-loader加载svg
    Microsoft Edge Chrome 下载
    [译]基于Vue.js的10个最佳UI框架,用于构建移动应用程序
    axios采坑之路
    MacBook Touch Bar 使用技巧
    vue-cli 3.x 移除console总结
    嵌入式Linux如何设置获取uboot参数
  • 原文地址:https://www.cnblogs.com/purple-windbells/p/11249817.html
Copyright © 2011-2022 走看看