ES6用foreach求数组对象的相同元素的个数,并输出到控制台
时间: 2023-03-24 08:01:38 浏览: 63
好的,以下是用中文的回答:
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 输出结果。
你可以将这段代码放到控制台中执行,就可以看到输出结果了。
相关问题
ES6求数组对象相同元素的个数
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求数组对象相同元素的平均值
ES6提供了一种简单的方法来计算数组中相同元素的平均值,可以使用Array.reduce()和Array.length属性实现。
下面是一个计算数组中相同元素平均值的示例代码:
```javascript
const arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
const count = arr.reduce((acc, num) => {
acc[num] = (acc[num] || 0) + 1;
return acc;
}, {});
const avg = Object.values(count).reduce((a, b) => a + b) / Object.keys(count).length;
console.log(avg); // 2.5
```
首先,使用reduce()方法创建一个对象来存储数组中每个元素的出现次数。然后,使用Object.values()方法获取每个元素的出现次数,并将它们相加,最后除以元素数量得到平均值。
在这个例子中,数组中元素2和3都出现了2次,元素4出现了4次,因此平均值为(2+2+4)/3=2.5。