最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

相關文章

最新評論

治县。| 东兴市| 惠水县| 十堰市| 临西县| 嘉定区| 临西县| 泾川县| 麟游县| 嘉荫县| 泗洪县| 高安市| 绥宁县| 阳城县| 万全县| 淮阳县| 英山县| 西畴县| 盐源县| 社会| 沾化县| 五峰| 南陵县| 元谋县| 株洲市| 泰宁县| 玉树县| 共和县| 武安市| 衡阳县| 岢岚县| 叶城县| 临夏县| 虎林市| 山阴县| 益阳市| 建德市| 梅州市| 合肥市| 长岛县| 涟源市|