javascript笛卡尔积算法实现方法_javascript技巧
程序员文章站
2022-04-28 20:09:04
...
本文实例讲述了javascript笛卡尔积算法实现方法。分享给大家供大家参考。具体分析如下:
这里可根据给的对象或者数组生成笛卡尔积
//笛卡儿积组合 function descartes(list) { //parent上一级索引;count指针计数 var point = {}; var result = []; var pIndex = null; var tempCount = 0; var temp = []; //根据参数列生成指针对象 for(var index in list) { if(typeof list[index] == 'object') { point[index] = {'parent':pIndex,'count':0} pIndex = index; } } //单维度数据结构直接返回 if(pIndex == null) { return list; } //动态生成笛卡尔积 while(true) { for(var index in list) { tempCount = point[index]['count']; temp.push(list[index][tempCount]); } //压入结果数组 result.push(temp); temp = []; //检查指针最大值问题 while(true) { if(point[index]['count']+1 >= list[index].length) { point[index]['count'] = 0; pIndex = point[index]['parent']; if(pIndex == null) { return result; } //赋值parent进行再次检查 index = pIndex; } else { point[index]['count']++; break; } } } }
希望本文所述对大家的javascript程序设计有所帮助。
下一篇: php单引号中字符串的转义("")
推荐阅读
-
JavaScript插入排序算法原理与实现方法示例
-
JavaScript选择排序算法原理与实现方法示例
-
JavaScript折半查找(二分查找)算法原理与实现方法示例
-
JavaScript实现微信红包算法及问题解决方法
-
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
-
JavaScript冒泡算法原理与实现方法深入理解
-
JavaScript笛卡尔积超简单实现算法示例
-
javascript算法学习实现代码_javascript技巧
-
JavaScript 5 新增 Array 方法实现介绍_javascript技巧
-
javascript 文本框水印/占位符(watermark/placeholder)实现方法_javascript技巧