javascript笛卡尔积算法实现方法


Posted in Javascript onApril 08, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
引用外部js乱码问题分析及解决方案
Apr 12 Javascript
jquery 表单验证之通过 class验证表单不为空
Nov 02 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
使用jQuery处理AJAX请求的基础学习教程
May 10 Javascript
AngularJS中实现动画效果的方法
Jul 28 Javascript
Vue.js第四天学习笔记
Dec 02 Javascript
vue.js选中动态绑定的radio的指定项
Jun 02 Javascript
Angularjs添加排序查询功能的实例代码
Oct 24 Javascript
vue-cli配置环境变量的方法
Jul 09 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
微信小程序实现简单评论功能
Nov 28 Javascript
vue proxy 的优势与使用场景实现
Jun 15 Javascript
JavaScript获取指定元素位置的方法
Apr 08 #Javascript
javascript跨域原因以及解决方案分享
Apr 08 #Javascript
JavaScript 里的类数组对象
Apr 08 #Javascript
cookie的secure属性详解
Apr 08 #Javascript
jQuery简单tab切换效果实现方法
Apr 08 #Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 #Javascript
jQuery控制cookie过期时间的方法
Apr 07 #Javascript
You might like
php导入模块文件分享
2015/03/17 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
jQuery 使用个人心得
2009/02/26 Javascript
javascript instanceof,typeof的区别
2010/03/24 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
裁剪字符串trim()自定义改进版
2013/04/10 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
python代码中怎么换行
2020/06/17 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
重构Python代码的六个实例
2020/11/25 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
linux面试题参考答案(7)
2012/10/29 面试题
高中生物教学反思
2014/02/05 职场文书
2014个人年度工作总结范文
2014/12/24 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
django中websocket的具体使用
2022/01/22 Python