数组array 的值为[1,2,3,4,5,6, 7, 8,9,10],计算出 array数组中的元素两两相加为10的组合有多少种,并将各种组合放入一个新数组中输出到控制台,其中[6,4]和[4,6]算是两种组合.
时间: 2024-11-25 17:16:10 浏览: 25
要找出数组中所有两个数相加等于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]]`。
阅读全文