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 相关文章推荐
javascript SocialHistory 检查访问者是否访问过某站点
Aug 02 Javascript
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
jquery $(this).attr $(this).val方法使用介绍
Oct 08 Javascript
JavaScript中九种常用排序算法
Sep 02 Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
Sep 14 Javascript
jQuery的三种bind/One/Live/On事件绑定使用方法
Feb 23 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
JavaScript中var的重要性实例分析
Jul 09 Javascript
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 Javascript
JavaScript 语句之常用 for 循环详解
Mar 29 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中一个完整表单处理实现代码
2011/11/10 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
php统计数组元素个数的方法
2015/07/02 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
自动更新作用
2006/10/08 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
js简单抽奖代码
2015/01/16 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
vue动态子组件的两种实现方式
2019/09/01 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
Windows下PyCharm安装图文教程
2018/08/27 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
python中的测试框架
2020/11/13 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
YSL圣罗兰美妆官方旗舰店:购买YSL口红
2018/04/16 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
运动会广播稿200字
2014/01/15 职场文书
党员组织关系介绍信
2014/02/13 职场文书
服务理念口号
2014/06/11 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
怎样写工作总结啊!
2019/06/18 职场文书