H5W3
当前位置:H5W3 > HTML5 > 正文

一个不确定内容的数组,统计每个元素出现的次数的方法

第一种方法使用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);
来自:https://www.cnblogs.com/zxbky/archive/2020/08/01/13412985.html
站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9557

未经允许不得转载:H5W3 » 一个不确定内容的数组,统计每个元素出现的次数的方法

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址