用reduce()来计算元素出现的次数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//统计a,b,c,d出现的次数
var arr=['a','b','c','d','a','a','b','c','d','a'];
var countarr=arr.reduce((allarr,arrs)=>{
if(arrs in allarr){
allarr[arrs]++;
}else{
allarr[arrs]=1;
}
return allarr;
},{})
alert(JSON.stringify(countarr));
</script>
</head>
<body>
</body>
</html>
运行结果:
用reduce()来对数组进行去重
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var arr=['a','b','c','d','a','a','b','c','d','a'];
//去重
var result = arr.sort().reduce((init,current)=>{
if(init.length===0 ||init[init.length-1]!=current){
init.push(current);
}
return init;
},[]);
alert(result);
</script>
</head>
<body>
</body>
</html>
运行结果: