获取两个数字之间由ASCII字符生成的字符串的所有可能组合

问题描述 投票:1回答:1

我需要一个简单的javascript函数,它需要3个输入

1-启动ASCII值 2-结束ASCII值 3-字符串长度

该函数将从起始值循环到结束值,直到长度为止。

例如,

开始 - 65 结束 - 67 长度-2

我想要[65,66,67]的ASCII的所有组合(长度2),即[“A”,“B”,“C”]

我希望输出为 AA AB AC BB BA BC CA CB CC

javascript algorithm combinations permutation
1个回答
3
投票

要生成所有可能的组合,您可以使用递归生成器:

  function* combine(start, end, depth, previous = []) {
    if(depth <= 0) {
      yield previous;
      return;
    }

    for(let i = start; i <= end; i++)
      yield* combine(start, end, depth - 1, [...previous, i]);
 }
© www.soinside.com 2019 - 2024. All rights reserved.