javascript笛卡爾積算法實(shí)現(xiàn)方法
本文實(shí)例講述了javascript笛卡爾積算法實(shí)現(xiàn)方法。分享給大家供大家參考。具體分析如下:
這里可根據(jù)給的對(duì)象或者數(shù)組生成笛卡爾積
//笛卡兒積組合 function descartes(list) { //parent上一級(jí)索引;count指針計(jì)數(shù) var point = {}; var result = []; var pIndex = null; var tempCount = 0; var temp = []; //根據(jù)參數(shù)列生成指針對(duì)象 for(var index in list) { if(typeof list[index] == 'object') { point[index] = {'parent':pIndex,'count':0} pIndex = index; } } //單維度數(shù)據(jù)結(jié)構(gòu)直接返回 if(pIndex == null) { return list; } //動(dòng)態(tài)生成笛卡爾積 while(true) { for(var index in list) { tempCount = point[index]['count']; temp.push(list[index][tempCount]); } //壓入結(jié)果數(shù)組 result.push(temp); temp = []; //檢查指針最大值問(wèn)題 while(true) { if(point[index]['count']+1 >= list[index].length) { point[index]['count'] = 0; pIndex = point[index]['parent']; if(pIndex == null) { return result; } //賦值parent進(jìn)行再次檢查 index = pIndex; } else { point[index]['count']++; break; } } } }
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- JS笛卡爾積算法與多重?cái)?shù)組笛卡爾積實(shí)現(xiàn)方法示例
- JavaScript求一組數(shù)的最小公倍數(shù)和最大公約數(shù)常用算法詳解【面向?qū)ο?,回歸迭代和循環(huán)】
- JavaScript實(shí)現(xiàn)的貝塞爾曲線算法簡(jiǎn)單示例
- javascript常用經(jīng)典算法實(shí)例詳解
- 原生js的RSA和AES加密解密算法
- JS常用加密編碼與算法實(shí)例總結(jié)
- javascript中解析四則運(yùn)算表達(dá)式的算法和示例
- JS隨機(jī)洗牌算法之?dāng)?shù)組隨機(jī)排序
- JavaScript笛卡爾積超簡(jiǎn)單實(shí)現(xiàn)算法示例
相關(guān)文章
微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁(yè)面支付
這篇文章主要介紹了微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁(yè)面支付的相關(guān)資料,需要的朋友可以參考下2015-09-09小程序?qū)崿F(xiàn)左右來(lái)回滾動(dòng)字幕效果
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)左右來(lái)回滾動(dòng)字幕效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12SOSO地圖JS畫出標(biāo)注和中心點(diǎn)以html形式運(yùn)行
SOSO地圖想必大家都知道吧,本文將為大家詳細(xì)介紹下使用JS畫出標(biāo)注和中心點(diǎn),直接貼出代碼,感興趣的朋友可以參考下2013-08-08詳解JavaScript中的before-after-hook鉤子函數(shù)
最近看別人的代碼,接觸到一個(gè)插件,before-after-hook,百度搜一圈也沒(méi)有看到什么地方有教程,本文就來(lái)簡(jiǎn)單介紹一下這個(gè)插件的使用方法,需要的可以參考一下2022-12-12微信小程序掃描普通二維碼跳轉(zhuǎn)到小程序指定頁(yè)面操作方法
這篇文章主要給大家介紹了關(guān)于微信小程序掃描普通二維碼跳轉(zhuǎn)到小程序指定頁(yè)面操作的相關(guān)資料,為了分享方便,或者制作宣傳海報(bào)之類的,經(jīng)常需要用到微信小程序指定頁(yè)面的二維碼,讓用戶掃碼直達(dá)頁(yè)面,需要的朋友可以參考下2023-08-08javascript加減乘除的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇javascript加減乘除的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07原生js封裝二級(jí)城市下拉列表的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇原生js封裝二級(jí)城市下拉列表的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06原生JS實(shí)現(xiàn)移動(dòng)端web輪播圖詳解(結(jié)合Tween算法造輪子)
在做移動(dòng)端開(kāi)發(fā)的時(shí)候,必不可少的是輪播圖,下面這篇文章主要給大家介紹了關(guān)于利用純JS實(shí)現(xiàn)移動(dòng)端web輪播圖的相關(guān)資料,重要的是結(jié)合Tween算法造輪子,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09