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

JS實(shí)現(xiàn)的排列組合算法示例

 更新時間:2019年07月16日 09:44:25   作者:愛在彩虹  
這篇文章主要介紹了JS實(shí)現(xiàn)的排列組合算法,結(jié)合完整實(shí)例形式詳細(xì)分析了排列組合算法的原理與javascript相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了JS實(shí)現(xiàn)的排列組合算法。分享給大家供大家參考,具體如下:

在數(shù)學(xué)中有排列組合,用來計(jì)算概率。

比如:從4個數(shù)字中,任意選擇兩個的情況。從5個數(shù)字中任意選擇3個數(shù)字的情況。(這里我們只考慮沒有順序的情況)。

公式:C(n,m)=n!/[m!(n-m)!]=n*(n-1)*...*(n-m+1)/[1*2*...*m],如C(5,2)=[5*4]/[1*2]=10.

舉例說明:有 1,2,3,4 四個數(shù)字,從這四個數(shù)字中,任意選擇兩個數(shù)字一共有多少種情況:[1,2], [1,3], [1,4], [2,3], [2,4], [3,4]一共有這六種情況。

下面用代碼實(shí)現(xiàn)從5個數(shù)字中任意選擇3個的情況(不考慮順序)。

<script>
var array = [1, 2, 3, 4, 5];
for(var i = 0, len1 = array.length; i < len1; i++) {
 var a2 = array.concat();
 /*
 排除之前已經(jīng)組合過的數(shù)據(jù)
 比如:第一次的時候,i[0] = 1, 這個時候2層循環(huán), 只循環(huán) 2~5, 
 第二次的時候, i[1] = 2, 這個時候2層循環(huán), 只循環(huán) 3~5
 同理:3層循環(huán)也是相比于2層循環(huán)來
 */
 a2.splice(0, i + 1);
 for(var j = 0, len2 = a2.length; j < len2; j++) {
 var a3 = a2.concat();
 a3.splice(0, j + 1);
 for(var k = 0, len3 = a3.length; k < len3; k++) {
  console.log(array[i] + ' ' +a2[j] + ' ' + a3[k]);
 }
 }
}
</script>

運(yùn)行結(jié)果:

需要取幾個數(shù)字,就嵌套循環(huán)幾次。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Javascript中產(chǎn)生固定結(jié)果的函數(shù)優(yōu)化技巧

    Javascript中產(chǎn)生固定結(jié)果的函數(shù)優(yōu)化技巧

    分享一個Javascript編寫函數(shù)的優(yōu)化技巧;適用的函數(shù)應(yīng)該要滿足以下條件;產(chǎn)生固定結(jié)果;復(fù)雜或較耗時等等,感興趣的朋友可以了解下
    2013-01-01
  • JavaScript中獲取時間的函數(shù)集

    JavaScript中獲取時間的函數(shù)集

    這篇文章主要介紹了JavaScript中獲取時間的函數(shù)集,通過實(shí)例代碼給大家講解,非常詳細(xì),感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • 值得分享的Bootstrap Table使用教程

    值得分享的Bootstrap Table使用教程

    一套值得分享和大家收藏的Bootstrap學(xué)習(xí)教程,完整的知識體系,系統(tǒng)的學(xué)習(xí)資料,幫助大家開啟Bootstrap Table學(xué)習(xí)之旅,享受學(xué)習(xí)的樂趣
    2016-11-11
  • javascript制作sql轉(zhuǎn)換為stringBuffer的小工具

    javascript制作sql轉(zhuǎn)換為stringBuffer的小工具

    這篇文章主要介紹了javascript制作sql轉(zhuǎn)換為stringBuffer的小工具,使用方法很簡單,吧寫好的sql語句只要格式化好之后放進(jìn)去就可以了,推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • 微信小程序緩存過期時間的使用詳情

    微信小程序緩存過期時間的使用詳情

    這篇文章主要介紹了微信小程序緩存過期時間的使用詳情,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 微信小程序?qū)崿F(xiàn)頁面左右滑動

    微信小程序?qū)崿F(xiàn)頁面左右滑動

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)頁面左右滑動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐

    JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐

    本文主要介紹了JavaScript將坐標(biāo)字符串轉(zhuǎn)為數(shù)組的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • JavaScript中的console.assert()函數(shù)介紹

    JavaScript中的console.assert()函數(shù)介紹

    這篇文章主要介紹了JavaScript中的console.assert()函數(shù)介紹,assert()函數(shù)是一個調(diào)試中經(jīng)常使用的斷言工具函數(shù),需要的朋友可以參考下
    2014-12-12
  • JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能

    JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)QQ列表展開收縮擴(kuò)展功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • JavaScript實(shí)現(xiàn)MIPS乘法模擬的方法

    JavaScript實(shí)現(xiàn)MIPS乘法模擬的方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)MIPS乘法模擬的方法,實(shí)例分析了JavaScript實(shí)現(xiàn)MIPS乘法模擬的運(yùn)算技巧,需要的朋友可以參考下
    2015-04-04

最新評論