Javascript - 通过添加两个元素来获取整数数组的所有组合

时间:2013-10-11 17:39:39

标签: javascript combinations

我有10个元素的整数数组。我希望通过添加两个元素来实现所有组合。

3 个答案:

答案 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)。