使用js写一个求数组中重复值并且列出重复值出现的次数的函数
时间: 2024-05-03 10:23:30 浏览: 146
js根据需要计算数组中重复出现某个元素的个数
5星 · 资源好评率100%
以下是一个使用 JavaScript 编写的函数,用于查找数组中重复的值并列出它们出现的次数:
```javascript
function findDuplicates(arr) {
var duplicates = {};
for(var i = 0; i < arr.length; i++) {
if(duplicates.hasOwnProperty(arr[i])) {
duplicates[arr[i]]++;
} else {
duplicates[arr[i]] = 1;
}
}
return duplicates;
}
```
这个函数接受一个数组作为参数,并返回一个对象,其中包含数组中所有重复的值及其出现的次数。它使用一个名为 `duplicates` 的对象来存储每个值出现的次数。在循环中,我们检查 `duplicates` 对象是否已包含当前元素。如果是,则将其次数加一;否则,在 `duplicates` 对象中创建一个新的键,并将其初始值设置为 1。
要使用这个函数,请将您的数组作为参数传递给它,并将其结果存储在一个变量中:
```javascript
var arr = [1, 2, 3, 2, 4, 5, 4, 6, 7, 8, 7, 9];
var duplicates = findDuplicates(arr);
console.log(duplicates);
```
在这个例子中,我们将数组 `[1, 2, 3, 2, 4, 5, 4, 6, 7, 8, 7, 9]` 传递给 `findDuplicates` 函数,并将其结果存储在变量 `duplicates` 中。当我们在控制台中打印 `duplicates` 对象时,我们应该看到以下输出:
```
{
"2": 2,
"4": 2,
"7": 2,
"1": 1,
"3": 1,
"5": 1,
"6": 1,
"8": 1,
"9": 1
}
```
这表明数组中的数字 2、4 和 7 都出现了两次,而其他数字仅出现了一次。
阅读全文