Здравствуйте. Мне нужно написать скрипт, который на вход принимает строку,
на выход отдает массив строк со всеми возможными размещениями точек между букв.
Например:
> abc
[ ‘abc’, ‘a.bc’, ‘ab.c’, ‘a.b.c]
Я написала вот такой скрипт, но у меня выводит все возможные комбинации только с одной точкой, а нужно еще с двумя, как в примере. Как это реализовать?
function permute(str) {
const ret = [];
if (str.length === 1) return [str];
if (str.length === 2) return [str, str[1] + str[0]];
str.split('').forEach(function (chr, idx, arr) {
let sub = [].concat(arr);
sub.splice(idx, 1);
permute(sub.join('')).forEach(function (perm) {
ret.push(chr + perm);
});
});
return ret;
}
console.log(permute('ab.c'));
Я бы рекомендовал вам для начала формализовать задачу в виде псевдокода или просто словами расписать алгоритм, видно, что вы пытаетесь решить задачу на ходу, но у вас мало опыта)