JS求对象数组中相同数值的个数
时间: 2023-03-24 13:01:31 浏览: 76
可以使用 JavaScript 中的循环结构和条件语句来实现求取数组中相同元素个数的功能。下面是一个示例代码:
```javascript
function countSameValues(arr) {
var count = 0;
var len = arr.length;
var obj = {};
for (var i = 0; i < len; i++) {
if (obj[arr[i]]) {
obj[arr[i]]++;
} else {
obj[arr[i]] = 1;
}
}
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] > 1) {
count++;
}
}
}
return count;
}
// 示例用法
var arr = [1, 2, 3, 4, 5, 5, 6, 6, 6, 7];
var count = countSameValues(arr);
console.log(count); // 输出:3
```
在这个示例代码中,我们首先定义了一个计数器 count 和一个对象 obj,用来存储数组中每个元素出现的次数。然后,我们使用 for 循环遍历数组中的每个元素,如果这个元素已经存在于 obj 中,则将其对应的值加 1;否则,将这个元素作为键,值为 1 加入到 obj 中。接着,我们再次使用 for 循环遍历 obj 中的每个键,如果某个键对应的值大于 1,则将 count 加 1。最后,我们将 count 的值作为函数的返回值。