JS数组reduce函数统计数组中重复元素的个数并重新组装输出

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JS数组reduce函数统计数组中重复元素的个数并重新
组装输出
JavaScript数组的reduce(函数是一个非常强大的方法,它可以用于
对数组中的元素进行累加、求和、求积等操作。

在本文中,我们将使用reduce(函数来统计数组中重复元素的个数,并重新组装输出。

首先,我们需要创建一个包含重复元素的数组。

假设我们有以下数组:```javascript
let arr = [1, 2, 3, 4, 1, 2, 3, 4, 5];
```
现在,我们将使用reduce(函数来统计数组中重复元素的个数。

reduce(函数接受一个回调函数作为参数,该回调函数有四个参数:累加器、当前值、当前索引和原数组。

我们可以使用一个对象作为累加器,将
数组中的元素作为对象的属性,并统计每个元素出现的次数。

```javascript
let count = arr.reduce((acc, curr) =>
if (curr in acc)
acc[curr]++;
} else
acc[curr] = 1;
}
return acc;
},{});
```
在上述代码中,我们首先判断当前元素是否已经存在于累加器对象中。

如果存在,则将该元素对应的计数器加1;如果不存在,则将该元素作为
对象的属性,并将计数器初始化为1
接下来,我们可以使用for...in循环来遍历累加器对象,并重新组
装输出。

```javascript
let result = [];
for (let key in count)
result.push(`${key}: ${count[key]}`);
console.log(result);
```
在上述代码中,我们使用for...in循环遍历累加器对象的属性,并
使用模板字符串将属性和对应的计数器值拼接起来。

然后,将拼接后的字
符串添加到结果数组中。

最后,我们可以使用join(函数将结果数组中的元素以逗号分隔的形
式组装成一个字符串,并输出结果。

```javascript
console.log(result.join(', '));
```
完整的代码如下所示:
```javascript
let arr = [1, 2, 3, 4, 1, 2, 3, 4, 5];
let count = arr.reduce((acc, curr) =>
if (curr in acc)
acc[curr]++;
} else
acc[curr] = 1;
}
return acc;
},{});
let result = [];
for (let key in count)
result.push(`${key}: ${count[key]}`);
console.log(result.join(', '));
```
运行上述代码,我们将得到以下输出:
```
1:2,2:2,3:2,4:2,5:1
```
以上输出表示数组中重复元素的个数,并按照元素的大小进行了排序。

相关文档
最新文档