// 12 ,3,4 两个数字组合 最后结果 应该是
// 13
// 14
// 23
// 24
// 34
// 这5种 用程序 怎么算出来
// 是求组合的算法
// var arr = [12, 3, 4];
// var len = arr.length;
// var result = [];
// for (var i = 0; i < len; i++) {
//
for (var j = i + 1; j < len; j++) {
//
for (var k = 0; k < String(arr[i]).length; k++) {
//
for (var m = 0; m < String(arr[j]).length; m++) {
//
result.push(Number(String(arr[i]).charAt(k)+String(arr[j]).charAt(m)));
//
}
//
}
//
}
// }
// console.log(result);
var arr = [12, 3, 4];
var len = arr.length;
var result = [];
var indexs = {};
function combination(ind, start) {
start++;
if (start > 1) {
return;
}
if (!indexs[start]) {
indexs[start] = 0;
}
for (indexs[start] = ind; indexs[start] < len; indexs[start]++) {
combination(indexs[start] + 1, start);
if (start == 1) {
var one = String(arr[indexs[start – 1]]);
var two = String(arr[indexs[start]]);
for (var k = 0; k < one.length; k++) {
for (var m = 0; m < two.length; m++) {
result.push(Number(one.charAt(k) + two.charAt(m)));
}
}
}
}
}
combination(0, -1);
console.log(result);