Javascript Cartesian Product Algorithm Implementation Method, javascript flute
This article describes how to implement the javascript Cartesian Product algorithm. Share it with you for your reference. The specific analysis is as follows:
The Cartesian product can be generated based on the given object or array.
// Function descartes (list) {// upper-level index of parent; count pointer count var point ={}; var result = []; var pIndex = null; var tempCount = 0; var temp = []; // generates the pointer object for (var index in list) {if (typeof list [index] = 'object') based on the parameter Column ') {point [index] = {'parent': pIndex, 'Count': 0} pIndex = index;} // if (pIndex = null) is returned for a Single-dimension data structure) {return list;} // dynamically generate the Cartesian product while (true) {for (var index in list) {tempCount = point [index] ['Count']; temp. push (list [index] [tempCount]);} // press the result array result. push (temp); temp = []; // check the maximum pointer value while (true) {if (point [index] ['Count'] + 1> = list [index]. length) {point [index] ['Count'] = 0; pIndex = point [index] ['parent']; if (pIndex = null) {return result ;} // assign a value to parent and check again index = pIndex;} else {point [index] ['Count'] ++; break ;}}}}
I hope this article will help you design javascript programs.