JS数组reduce函数统计数组中重复元素的个数并重新组装输出
JavaScript数组的reduce(函数是一个非常强大的方法,它可以用于对数组中的元素进行累加、求和、求积等操作。在本文中,我们将使用reduce(函数来统计数组中重复元素的个数,并重新组装输出。
首先,我们需要创建一个包含重复元素的数组。假设我们有以下数组:
```javascript
let arr = [1, 2, 3, 4, 1, 2, 3, 4, 5];
```
现在,我们将使用reduce(函数来统计数组中重复元素的个数。reduce(函数接受一个回调函数作为参数,该回调函数有四个参数:累加器、当前值、当前索引和原数组。我们可以使用一个对象作为累加器,将数组中的元素作为对象的属性,并统计每个元素出现的次数。
```javascript
let count = duce((acc, curr) =>
if (curr in acc)
acc[curr]++;
} else
acc[curr] = 1;
}
return acc;
},{});
```
在上述代码中,我们首先判断当前元素是否已经存在于累加器对象中。如果存在,则将该元素对应的计数器加1;如果不存在,则将该元素作为对象的属性,并将计数器初始化为1
接下来,我们可以使用in循环来遍历累加器对象,并重新组装输出。
```javascript
let result = [];
for (let key in count)
result.push(`${key}: ${count[key]}`);
console.log(result);
```
在上述代码中,我们使用in循环遍历累加器对象的属性,并使用模板字符串将属性和对应的计数器值拼接起来。然后,将拼接后的字符串添加到结果数组中。
javascript全局数组
最后,我们可以使用join(函数将结果数组中的元素以逗号分隔的形式组装成一个字符串,并输出结果。
```javascript
console.log(result.join(', '));
```
完整的代码如下所示:
```javascript
let arr = [1, 2, 3, 4, 1, 2, 3, 4, 5];
let count = duce((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
```
以上输出表示数组中重复元素的个数,并按照元素的大小进行了排序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。