js实现字符全排列算法的简单方法
发布时间 - 2026-01-11 00:54:55 点击率:次实例如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字符全排列</title>
</head>
<body>
<script>
function charsMap(o){
o = (o+"").replace(/(\w)(?=\w*\1)/g,"").replace(/\s+/g,""); //去除重复字符以及空白字符
switch(o.length){
case 0:
case 1: return [o];
default:
var p = /^(\S+?)(\S)$/.exec(o), //使用正则将字符串分割为n-1长度字符串,以及最后一个字符串。
_r = charsMap(p[1]),
l = p[2],
r = [];
for (var i = 0; i < _r.length; i++) {
var t = _r[i];
for (var j = 0, len = t.length; j <= len; j++) {
r.push( t.replace( new RegExp("^(\\S{"+j+"})(\\S{"+(len-j)+"})$"), "$1"+l+"$2" ) );
//字符插入位置从开头前到结尾后,正则的作用相当于Array.splice(j,0,l); 在下标j的位置插入一个字符l
}
}
return r;
}
}
var arr = "abcde";
var t = new Date().getTime();
var result = charsMap(arr);
document.write( "总耗时:"+(new Date().getTime()-t)+"ms" );
var html = "<ul><li>" + result.join("</li><li>") + "</li></ul>";
document.write(html);
</script>
</body>
</html>
以上这篇js实现字符全排列算法的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 字符串全排列算法
# JavaScript搜索字符串并将搜索结果返回到字符串的方法
# JavaScript中的字符串操作详解
# javascript如何返回字符串的所有排列
# 给大家
# 希望能
# 这篇
# 小编
# 大家多多
# 则将
# head
# meta
# gt
# lang
# en
# charset
# script
# function
# charsMap
# UTF
# title
# body
# color
# ccffcc
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何在阿里云高效完成企业建站全流程?
如何在IIS中配置站点IP、端口及主机头?
如何快速查询域名建站关键信息?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何快速生成凡客建站的专业级图册?
iOS验证手机号的正则表达式
javascript如何操作浏览器历史记录_怎样实现无刷新导航
JS碰撞运动实现方法详解
网站制作软件有哪些,制图软件有哪些?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
制作公司内部网站有哪些,内网如何建网站?
如何在宝塔面板中创建新站点?
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
javascript中的try catch异常捕获机制用法分析
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
如何在阿里云ECS服务器部署织梦CMS网站?
如何在阿里云通过域名搭建网站?
Laravel如何配置Horizon来管理队列?(安装和使用)
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
如何用花生壳三步快速搭建专属网站?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
EditPlus中的正则表达式 实战(1)
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
昵图网官网入口 昵图网素材平台官方入口
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
js实现获取鼠标当前的位置
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何有效防御Web建站篡改攻击?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
Laravel怎么调用外部API_Laravel Http Client客户端使用
北京网站制作公司哪家好一点,北京租房网站有哪些?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
高端云建站费用究竟需要多少预算?
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Laravel如何记录自定义日志?(Log频道配置)
如何正确选择百度移动适配建站域名?
如何在局域网内绑定自建网站域名?

