欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js實現(xiàn)字符全排列算法的簡單方法

 更新時間:2017年05月01日 12:48:24   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s實現(xiàn)字符全排列算法的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

實例如下:

<!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實現(xiàn)字符全排列算法的簡單方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • js數(shù)組與字符串的相互轉換方法

    js數(shù)組與字符串的相互轉換方法

    這篇文章主要介紹了js數(shù)組與字符串的相互轉換方法,是js中常用的技巧,需要的朋友可以參考下
    2014-07-07
  • 使用canvas實現(xiàn)鯉魚躍龍門的動畫效果

    使用canvas實現(xiàn)鯉魚躍龍門的動畫效果

    這篇文章主要給大家介紹了使用canvas實現(xiàn)鯉魚躍龍門的動畫效果,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,感興趣的小伙伴可以自己動手嘗試一下
    2024-02-02
  • 微信小程序實現(xiàn)文字跑馬燈

    微信小程序實現(xiàn)文字跑馬燈

    這篇文章主要為大家詳細介紹了微信小程序實現(xiàn)文字跑馬燈,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • layui-table獲得當前行的上/下一行數(shù)據的例子

    layui-table獲得當前行的上/下一行數(shù)據的例子

    今天小編就為大家分享一篇layui-table獲得當前行的上/下一行數(shù)據的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 禁用頁面部分JavaScript方法的具體實現(xiàn)

    禁用頁面部分JavaScript方法的具體實現(xiàn)

    方法重寫,重寫要禁用的方法,并讓它什么也不做,結果證明真的可行,但并不知道是不是一個科學的方法,我拿出來與大家共同討論一下
    2013-07-07
  • javascript設計模式 – 觀察者模式原理與用法實例分析

    javascript設計模式 – 觀察者模式原理與用法實例分析

    這篇文章主要介紹了javascript設計模式 – 觀察者模式,結合實例形式分析了javascript觀察者模式相關概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 解決使用layui的時候form表單中的select等不能渲染的問題

    解決使用layui的時候form表單中的select等不能渲染的問題

    今天小編就為大家分享一篇解決使用layui的時候form表單中的select等不能渲染的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 實例分析Array.from(arr)與[...arr]到底有何不同

    實例分析Array.from(arr)與[...arr]到底有何不同

    這篇文章通過實例主要給大家分析介紹了關于Array.from(arr)與[...arr]到底有何不同的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • JavaScript常見JSON操作實例分析

    JavaScript常見JSON操作實例分析

    這篇文章主要介紹了JavaScript常見JSON操作,簡單描述了json的概念、常見json類型,并結合實例形式分析了json的序列化、轉換、格式化、解析等相關操作技巧,需要的朋友可以參考下
    2018-08-08
  • JavaScript程序員應該知道的45個實用技巧

    JavaScript程序員應該知道的45個實用技巧

    在這篇文章中,我將分享一組JavaScript的技巧、竅門和最佳實踐,這些都是JavaScript程序員應該知曉的,不管他們是使用在瀏覽器/引擎上,還是服務器端(SSJS——Service Side JavaScript)JavaScript解釋器上
    2014-03-03

最新評論