打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个不确定内容的数组,统计每个元素出现的次数的方法
第一种方法使用reduce方法,通过传入的内容来确定
var arrs=['a','a','d','c','f','d','我','我','他',2,2,5,4,6,8];
function a(){
    return  arrs.reduce( function(prev:any,next:any){
        console.log(prev);
        console.log(next);
        prev[next]=(prev[next]+1) || 1;

        return prev;
    },{})
}

console.log(a());  

第二种 双重循环对比法

 实现理论:定义一个空数组,第一个循环循环数组,然后创建一个变量存放当前值,然后再创建一个变量存放出现次数,第二个循环跟第一个循环的数据进行对比,如果存在次数变量就加1,对比过的让他的值变成-1,最后当前值不不等于-1.存入新的数组


var arr=['a','a','d','c','f','d','我','我','他',2,2,5,4,6,8];
function arrCheck(arr:any){
    var newArr = [];
    for(var i=0;i<arr.length;i++){
        var temp=arr[i];
        var count=0;
        for(var j=0;j<arr.length;j++){
            if(arr[j]==temp){
                count++;
                arr[j]=-1;
            }
        }
        if(temp != -1){
            newArr.push(temp+","+count)
        }
    }
    return newArr;
}
arrCheck(arrs);

  第三种,最简单

  实现理论: 定义一个空对象,循环这个数组,判断如果对象里面有这个属性就给这个值加1(使用hasOwnProperty),没有呢就把这个属性添加到这个对象中,设置初始值为1

var arr=['a','a','d','c','f','d','我','我','他',2,2,5,4,6,8];
var obj={};
 for(let i=0;i<arr.length;i++){
     if(obj.hasOwnProperty(arr[i])){
         obj[arr[i]] +=1;
     }else{
         obj[arr[i]] =1;
     }
 }
console.log(obj);

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数组去重
JavaScript 基础四
jQuery数组处理汇总
前端js数组元素的筛选,修改,新增属性小技巧一
JavaScript学习笔记之数组随机排序
收集Web前端 面试题 Javascript部分
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服