在 Javascript 中查找字符串的所有小写和大写组合

2023-12-01

我正在找这个堆栈溢出问题用 Javascript 来回答。

因此,如果我的输入是“word”,该函数应该返回:

单词, 单词, 单词, 单词, 单词, 单词, ETC..

这是我到目前为止所拥有的,但它只产生排列(不大写任何东西)

var perm = function(str){
var results = [];

var combos = function(reference, appendTo){
 appendTo = appendTo || "";
 if(reference.length === 0) {
  results.push(appendTo);
 }
 for(var i = 0; i < reference.length; i++){
  var current = reference.splice(i, 1);
  combos(reference, appendTo+current);
   reference.splice(i, 0, current)
 }
} 
combos(str.split(""));
return results;
}
perm("word");

一种选择是通过二进制逻辑生成大写排列。

作为下面代码片段的简单示例,请考虑下表,其中左列是当前排列的二进制表示,右列是结果大写:

0000 | word
1000 | Word
0100 | wOrd
1100 | WOrd
...
1111 | WORD

// Used to display the results
const write = (msg) => {
  document.body.appendChild(document.createElement('div')).innerHTML = msg;
};

const input = "word";
const letters = input.split("");
const permCount = 1 << input.length;

for (let perm = 0; perm < permCount; perm++) {
  // Update the capitalization depending on the current permutation
  letters.reduce((perm, letter, i) => {
    letters[i] = (perm & 1) ? letter.toUpperCase() : letter.toLowerCase();
    return perm >> 1;
  }, perm);

  const result = letters.join("");
  write(result);
}

请注意,从理论上讲,这种方法将一直有效Number.MAX_SAFE_INTEGER,最多输入长度为 52,但实际上您会遇到性能问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Javascript 中查找字符串的所有小写和大写组合 的相关文章

随机推荐

  • 服务永久处于“启动”状态

    我用 C 编写了一个 Windows 服务 它将 wav 文件转换为 mp3 然后将它们存储在远程服务器上 在我的开发平台 操作系统 WinXP SP3 上 服务启动正常并按预期运行 当我将其安装到生产机器 操作系统 WinServer 2
  • notificationDataSetChanged() 使列表刷新并滚动跳回顶部

    我正在尝试实现无限滚动列表视图 但是当我打电话时notifyDataSetChanged 整个列表刷新然后滚动位置返回到顶部 这是正常行为吗 如何让它简单地添加添加的项目而不刷新并保持滚动位置 这种行为是不正常的 在没有看到您的代码的情况下
  • 使用 Javascript/jQuery 访问 id 属性不正确的 HTML 元素

    我正在为某人制作一个 Greasemonkey 脚本 以更改其 CRM Zoho 创建的某些字段的显示 因为他们无权更改呈现的 HTML 这应该很容易 但是 Zoho 认为创建正确的 HTML 太麻烦了 我猜 他们的 HTML 包含这样的内
  • 如何使用 Google Apps 脚本在电子邮件主题中使用表情符号?

    我正在尝试使用 Google Apps 脚本发送电子邮件 try 1 const subject Hello World try 2 const subject Hello World String fromCodePoint 0x1F60
  • 使用 new-azwebapp 时如何选择运行环境?

    我目前正在构建一个脚本来自动创建天蓝色网络应用程序 前端是用 React 构建的并且部署得很好 后端是使用node构建的 发布时不会运行 我认为默认情况下 New AzWebApp 创建一个 net windows 运行时环境 而我想要一个
  • 为同一路线航行多个处理程序

    正如标题所示 我想在不同的控制器中为 Sails Js 中的同一路线分配多个操作处理程序 我尝试过的 post rest users controller FirstController action someAction controll
  • Visual Studio 2022:更改垂直滚动条中定位区域的颜色

    如何更改图像中突出显示的区域的颜色 该区域显示您所在的位置或要滚动到正在编辑的页面中的位置 我发现能够更改此设置的唯一方法是创建自己的主题 因为 Visual Studio 独立版似乎不支持此功能 幸运的是 有一个很好的扩展名为Visual
  • 将 sp_executesql 与 params 一起使用会抱怨需要声明变量

    我正在尝试创建一个使用 sp executesql 的存储过程 我已经仔细观察了很久here 但我看不到我在代码中做错了什么 一般来说 我对存储过程 sql 服务器功能很陌生 所以我猜我错过了一些简单的东西 存储过程更改发生得很好 但是当我
  • 通告揭示了新活动的过渡

    As per https developer android com training material animations html The ViewAnimationUtils createCircularReveal 方法使您能够
  • BCNF分解算法不起作用

    我有以下问题 R ABCDEFG 和 F AB gt CD C gt EF G gt A G gt F CE gt F 显然 B 和 G 应该是键的一部分 因为它们不是依赖集的一部分 此外 BG ABCDEFG 因此是候选键 显然 AB g
  • Webkit CSS 控制输入[type=color] 中颜色周围的框?

    是否有特定于 Webkit 的 CSS 样式 可以让我控制颜色周围的框的颜色 大小 样式input type color 我已经设置了输入的颜色和背景颜色 因此它与我用于旧版 Chrome 和 Firefox 的交叉兼容性填充程序看起来不错
  • NavigationService 何时初始化?

    我想从我的页面捕获 NavigationService Navigating 事件 以防止用户向前导航 我有一个这样定义的事件处理程序 void PreventForwardNavigation object sender Navigati
  • 如何使用 %s 和 %c 正确 printf 字符串和字符

    我对使用感到困惑 c and s在以下 C 程序中 include
  • 从 SQL Server 表中选择扩展属性

    我正在为客户的数据库编写一个简单的 CMS 有 12 个表 他们需要管理其中 4 个表中的所有数据 我设置了一个动态数据项目 Linq to SQL 因为这是我最熟悉的 并且第一页使所有 12 个表都可以按其应有的方式进行编辑 它们位于名为
  • 无效并不是重画屏幕。安卓

    BufferedReader hl new BufferedReader new InputStreamReader getResources openRawResource R raw lines while hl ready showL
  • getDrawable(int id) 已弃用。如何设置图像?

    有一个问题 getDrawable 在 API 22 中已弃用 那么 如果我使用最小 API 16 制作应用程序 如何设置图像 我看到我可以使用 getDrawable int id theme 但这是在 API 21 中添加的 所以我不能
  • 在 D3 的上下文菜单中获取节点详细信息

    我正在尝试获取节点详细信息 id属性 当右键单击时 contextmenu函数被调用 我可以使用获取节点对象var self d3 select this 但我无法计算出 节点的 id 属性 不过我可以在控制台日志中看到它 我打算通过id一
  • CSS 三角形是如何工作的?

    有很多不同的 CSS 形状CSS 技巧 CSS 的形状我对三角形特别困惑 triangle up width 0 height 0 border left 50px solid transparent border right 50px s
  • 纯函数可以返回符号吗?

    这可能有点哲学性 但我认为这是提问的正确地点 假设我有一个创建 ID 列表的函数 这些标识符仅在应用程序内部使用 因此使用 ES2015 是可以接受的Symbol here 我的问题是 技术上 当您请求一个符号时 我想 JS 运行时会创建一
  • 在 Javascript 中查找字符串的所有小写和大写组合

    我正在找这个堆栈溢出问题用 Javascript 来回答 因此 如果我的输入是 word 该函数应该返回 单词 单词 单词 单词 单词 单词 ETC 这是我到目前为止所拥有的 但它只产生排列 不大写任何东西 var perm functio