我有10个元素的整数数组。我希望通过添加两个元素来实现所有组合。
答案 0 :(得分:1)
var combinations[];
for (var i = 0; i < yourIntArray.length; i++) {
for (var j = 0; j < yourIntArray.length; j++) {
combinations.push(parseInt(yourIntArray[i]) + parseInt(yourIntArray[j]));
}
}
如果要检查唯一性,可能需要修改内部循环。
答案 1 :(得分:0)
通过这行代码,我能够获得所有组合。
function getCombinations(chars) {
var result = [];
var f = function (prefix, chars) {
for (var i = 0; i < chars.length; i++) {
if (prefix == '') result.push(prefix + chars[i]);
else result.push(parseInt(prefix) + parseInt(chars[i]));
if (prefix == '') f((prefix + chars[i]), chars.slice(i + 1));
else f((parseInt(prefix) + parseInt(chars[i])), chars.slice(i + 1));
}
}
f('', chars);
return result;
}
var combinations = getCombinations(["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
console.log(combinations);
alert(combinations);
这也可能有助于其他人。
答案 2 :(得分:0)
var integers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var table = [];
for (var y = 0; y < integers.length; y++) {
for (var x = 0; x < integers.length; x++) {
table.push(x + y);
}
}
table
现在包含一个新整数数组,在本例中为2(1 + 1)到20(10 + 10)。