zoukankan      html  css  js  c++  java
  • 计算数组中某一项出现的次数

    var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice','amy','amy','marry'];
    // 利用 for in 遍历对象的方式实现
    function ll(arr){
    var aa = {};
    for(var i = 0;i<arr.length;i++){
    if(arr[i] in aa){
    aa[arr[i]] += 1;
    }else{
    aa[arr[i]] = 1;
    }
    }
    return aa;
    }
    console.log('222',ll(names)) //{"Alice": 2, "Bob": 1, "Tiff": 1,"Bruce": 1, "amy": 2,"marry": 1 }
    // 利用Object.hasOwnProperty('属性')来实现
    function mm(arr){
    var aa = {};
    for(var i = 0;i<arr.length;i++){
    if(aa.hasOwnProperty(arr[i])){
    aa[arr[i]] += 1;
    }else{
    aa[arr[i]] = 1;
    }
    }
    return aa;
    }
    console.log('333',mm(names)) //{"Alice": 2, "Bob": 1, "Tiff": 1,"Bruce": 1, "amy": 2,"marry": 1 }
    // 利用 reduce()高阶函数来实现
    var ff = names.reduce((calc,item) => {
    if(item in calc){
    calc[item] += 1;
    }else{
    calc[item] = 1;
    }
    return calc
    },{})
    console.log(ff,'123') //{"Alice": 2, "Bob": 1, "Tiff": 1,"Bruce": 1, "amy": 2,"marry": 1 }

  • 相关阅读:
    iOS UI基础05
    iOS UI基础04
    document.referrer
    节点
    特殊符号编码
    margin和padding的百分比
    XSS要点总结
    页面加载的过程
    函数声明和函数表达式
    jpg和png
  • 原文地址:https://www.cnblogs.com/lxsunny/p/15011775.html
Copyright © 2011-2022 走看看