本文實例講述了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程序設計有所幫助。
| 
 
 | 
新聞熱點
疑難解答