Посчитать все возможные комбинации знаков, но без повторов
Есть код.
var arr = [];
var index = 0;
function recursive(istr, curstr, count) {
count--;
for (var i = 0; i < istr.length; i++) {
var str = curstr + istr.charAt(i);
if (count > 0) {
recursive(istr, str, count);
} else {
console.log(str); // showing answers here
arr[index++] = str; // or they are in the array here
}
}
}
function enumerate(str, n) {
for (var i = 0; i < n; i++) {
recursive(str, "", i + 1);
}
}
enumerate("ABCD", 2);
Но нужно чтобы если выводило AD, DA - уже не создавалась и тд.
Ответы (1 шт):
Автор решения: wyrme
→ Ссылка
let pairs = (arr) => arr.map( (v, i) => arr.slice(i + 1).map(w => [v, w]) ).flat();
console.log(pairs([1, 2, 3, 4, 5]));