ES6求数组对象相同元素的个数
时间: 2023-03-24 19:01:31 浏览: 116
ES6提供了许多新的操作数组的方法,可以方便地对数组进行操作。要计算数组中相同元素的个数,可以使用以下方法:
1. 使用reduce()方法和对象来实现:
```javascript
const arr = [1, 2, 3, 2, 1, 2, 4, 5, 4, 3];
const count = arr.reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
console.log(count); // {1: 2, 2: 3, 3: 2, 4: 2, 5: 1}
```
2. 使用Map对象来实现:
```javascript
const arr = [1, 2, 3, 2, 1, 2, 4, 5, 4, 3];
const count = new Map();
arr.forEach((val) => {
count.set(val, (count.get(val) || 0) + 1);
});
console.log(count); // Map { 1 => 2, 2 => 3, 3 => 2, 4 => 2, 5 => 1 }
```
以上两种方法都可以实现计算数组中相同元素的个数,使用哪一种方法取决于个人喜好和具体的应用场景。
相关问题
ES6用foreach求数组对象的相同元素的个数,并输出到控制台
好的,以下是用中文的回答:
ES6 中的 forEach 方法可以用于遍历数组,而且可以通过回调函数来对每个元素进行操作。如果要统计数组中与特定元素相同的元素个数,可以定义一个计数器,然后在 forEach 方法的回调函数中判断每个元素是否与特定元素相同,如果相同,则将计数器加一。
以下是一个示例代码:
```javascript
const arr = [1, 2, 3, 4, 2, 5, 2];
const target = 2;
let count = 0;
arr.forEach((elem) => {
if (elem === target) {
count++;
}
});
console.log(`数组 ${arr} 中有 ${count} 个 ${target}`);
```
这段代码中,我们首先定义了一个数组 `arr`,以及一个要统计的目标元素 `target` 和一个计数器 `count`。然后使用 forEach 方法遍历数组,对于每个元素,如果与 `target` 相同,则将计数器加一。最后使用 console.log 输出结果。
你可以将这段代码放到控制台中执行,就可以看到输出结果了。
阅读全文