首页 > 编程 > JavaScript > 正文

javascript笛卡尔积算法实现方法

2019-11-20 12:44:18
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表