DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript笛卡爾積算法實現方法
javascript笛卡爾積算法實現方法
編輯:關於JavaScript     

本文實例講述了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程序設計有所幫助。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved