JavaScript中字符串字符之间所有可能的点组合

时间:2019-07-08 13:54:06

标签: javascript

我正在寻找一个表示所有可能的字符串的列表,在字符之间添加点。

示例:

test
t.est
te.st
tes.t
t.e.st
t.es.t
t.e.st

以此类推...

不允许在开头或结尾使用点。

我已经搜索并找到了solution suited for PHP,但是在将其转换为JavaScript时,出现了“递归过多”错误...

1 个答案:

答案 0 :(得分:3)

只需从提到的php解决方案中转化

function stringInsert($str, $insertstr, $pos) {
  $str = $str.substr(0, $pos) + $insertstr + $str.substr($pos);
  return $str;
}


function generate($var = "note", $i = 0) {
  let $length = $var.length;

  while ($i + 1 < $length) {
    $i++;
    let $new = stringInsert($var, '.', $i);
    console.log($new);
    generate($new, $i + 1);
  }
}

generate('shaghayegh')