本篇內(nèi)容主要講解“怎么通過JavaScript函數(shù)生成字符串的所有排列組合”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么通過JavaScript函數(shù)生成字符串的所有排列組合”吧!
成都創(chuàng)新互聯(lián)公司是專業(yè)的豐澤網(wǎng)站建設(shè)公司,豐澤接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行豐澤網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
今天給大家介紹怎么通過一個JavaScript函數(shù)來生成字符串的所有排列組合,那么所謂排列組合就是組合學(xué)中最基本的概念了。
首先來給大家簡單介紹排列組合:
1、排列就是指從給定個數(shù)的元素中取出指定個數(shù)的元素進行排序。
2、組合則是指從給定個數(shù)的元素中僅僅取出指定個數(shù)的元素,不考慮排序。
而排列組合的中心問題就是研究指定要求的排列和組合可能出現(xiàn)的情況總數(shù)。
想必大家對排列組合都有所了解了。
下面我們就通過javascript代碼來實現(xiàn)計算字符串的所有排列組合情況。
完整代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> //編寫一個JavaScript函數(shù)來生成字符串的所有組合 function substrings(str1) { var array1 = []; for (var x = 0, y=1; x < str1.length; x++,y++) { array1[x]=str1.substring(x, y); } var combi = []; var temp= ""; var slent = Math.pow(2, array1.length); for (var i = 0; i < slent ; i++) { temp= ""; for (var j=0;j<array1.length;j++) { if ((i & Math.pow(2,j))){ temp += array1[j]; } } if (temp !== "") { combi.push(temp); } } console.log(combi.join("\n")); } substrings("dog"); </script> </body> </html>
這里我們對一個示例字符串dog進行排列組合,查看生成結(jié)果如下:
在上述代碼中,我們用了幾個關(guān)鍵的方法,如下:
1、pow()
方法:用于計算x的y次冪,語法是“Math.pow(x,y)
”。
2、push()
方法:可向數(shù)組的末尾添加一個或多個元素,并返回新的長度,語法是“array.push(item1, item2, ..., itemX)
”。
3、join()
方法:用于把數(shù)組中的所有元素放入一個字符串,元素是通過指定的分隔符進行分隔的,語法是“arrayObject.join(separator)
”。
到此,相信大家對“怎么通過JavaScript函數(shù)生成字符串的所有排列組合”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享標(biāo)題:怎么通過JavaScript函數(shù)生成字符串的所有排列組合
本文URL:http://aaarwkj.com/article26/gpiccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站排名、定制開發(fā)、云服務(wù)器、微信公眾號、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)