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 相关文章推荐
Jquery实战_读书笔记1—选择jQuery
Jan 22 Javascript
jquery 页面全选框实践代码
Apr 02 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
jQuery父级以及同级元素查找介绍
Sep 04 Javascript
使用node.js半年来总结的 10 条经验
Aug 18 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
javaScript封装的各种写法
Aug 14 Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
axios携带cookie配置详解(axios+koa)
Dec 28 Javascript
JavaScript随机数的组合问题案例分析
May 16 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
自动分页的不完整解决方案
2007/01/12 PHP
php采集时被封ip的解决方法
2010/08/29 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
vue 点击按钮增加一行的方法
2018/09/07 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
微信小程序一周时间表功能实现
2019/10/17 Javascript
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
创业计划书的主要内容有哪些
2014/01/29 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
趵突泉导游词
2015/02/03 职场文书
开会通知短信大全
2015/04/20 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
教师岗位说明书
2015/09/30 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
golang中的struct操作
2021/11/11 Golang