js计算找出数组中重复的数
时间: 2023-10-07 10:08:45 浏览: 95
。很高兴回答这个问题。要找出数组中重复的数,可以使用对象来存储每个数字出现的次数,然后遍历对象找到出现次数大于1的数字即可。下面是JS代码示例:
```javascript
function findDuplicate(arr) {
var obj = {};
var duplicates = [];
for (var i = 0; i < arr.length; i++) {
if (obj[arr[i]] === undefined) {
obj[arr[i]] = 1;
} else {
obj[arr[i]]++;
}
}
for (var num in obj) {
if (obj[num] > 1) {
duplicates.push(parseInt(num));
}
}
return duplicates;
}
var arr = [1, 2, 3, 4, 2, 5, 3];
var duplicates = findDuplicate(arr);
console.log(duplicates); // [2, 3]
```
希望这个代码能够帮助到你!
相关问题
数组array 的值为[1,2,3,4,5,6, 7, 8,9,10],计算出 array数组中的元素两两相加为10的组合有多少种,并将各种组合放入一个新数组中输出到控制台,其中[6,4]和[4,6]算是两种组合.
要找出数组中所有两个数相加等于10的组合,并将它们放入一个新的数组中,我们可以使用双指针的方法。遍历数组,从第一个元素开始,用一个指针`i`指向当前元素,另一个指针`j`从`i+1`开始,检查每个后续元素是否满足条件。
这里是一个简单的JavaScript函数,它实现了这个逻辑:
```javascript
function findCombinations(array) {
let result = [];
for (let i = 0; i < array.length - 1; i++) {
for (let j = i + 1; j < array.length; j++) {
if (array[i] + array[j] === 10) {
// 如果找到组合,避免重复添加,因为[6,4]和[4,6]算同一种组合
if ([array[i], array[j]].sort().join(',') !== result.join(',')) {
result.push([array[i], array[j]]);
}
}
}
}
return result;
}
const inputArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(findCombinations(inputArray));
```
当你运行这段代码后,它会在控制台上打印出所有符合条件的组合,例如:`[[4, 6], [6, 4], [9, 1], [1, 9]]`。
阅读全文