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)文章
javascript 兼容FF的onmouseenter和onmouseleave的代碼
經(jīng)過(guò)測(cè)試發(fā)現(xiàn),例子1 在 ff下抖動(dòng)的厲害,ie下稍微有點(diǎn)。 具體原因 其實(shí)就是 mouseout 的冒泡機(jī)制 引起的。2008-07-07
Bootstrap每天必學(xué)之標(biāo)簽與徽章
Bootstrap每天必學(xué)之標(biāo)簽與徽章,對(duì)Bootstrap標(biāo)簽與徽章小編也了解的很少,希望通過(guò)這篇文章和大家更多的去學(xué)習(xí)Bootstrap標(biāo)簽與徽章,從中得到收獲。2015-11-11
外部web端訪問(wèn)微信小程序云數(shù)據(jù)庫(kù)的三種方法總結(jié)
最近在研究微信小程序的云開(kāi)發(fā)功能,下面這篇文章主要給大家介紹了關(guān)于外部web端訪問(wèn)微信小程序云數(shù)據(jù)庫(kù)的三種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
js實(shí)現(xiàn)把時(shí)間戳轉(zhuǎn)換為yyyy-MM-dd hh:mm 格式(es6語(yǔ)法)
下面小編就為大家分享一篇js實(shí)現(xiàn)把時(shí)間戳轉(zhuǎn)換為yyyy-MM-dd hh:mm 格式(es6語(yǔ)法),具有很的參考價(jià)值,希望對(duì)大家有所幫助2017-12-12
js實(shí)現(xiàn)鍵盤(pán)上下左右鍵選擇文字并顯示在文本框的方法
這篇文章主要介紹了js實(shí)現(xiàn)鍵盤(pán)上下左右鍵選擇文字并顯示在文本框的方法,涉及javascript操作鍵盤(pán)事件及文本框的相關(guān)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05
解決遍歷時(shí)Array.indexOf產(chǎn)生的性能問(wèn)題
javascript中數(shù)組是沒(méi)有indexOf方法,extjs中給數(shù)據(jù)添加了該方法2012-07-07
js實(shí)現(xiàn)文字垂直滾動(dòng)和鼠標(biāo)懸停效果
這篇文章主要介紹了js實(shí)現(xiàn)文字垂直滾動(dòng)和鼠標(biāo)懸停效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12
JavaScript數(shù)組_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了JavaScript數(shù)組的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06
小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn)(不用showLoading)
這篇文章主要介紹了小程序按鈕避免多次調(diào)用接口和點(diǎn)擊方案實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

