JavaScript实现笛卡尔积
注意:本文中所说的集合是指数学上的集合,不是es6里的Set。
整体思路如下:
- 用户传入一个二维的数组,每个子数组都是一个要进行笛卡尔积计算的集合。返回一个二维数组,每个子数组都是一个有序对或者n元有序组。
- 当用户传入一个集合的时候,为了兼容业务,返回形如:[[a],[b]…]的二维数组。
- 当用户只传入两个集合计算的时候,普通的嵌套计算即可。
- 当用户传入3个或者3个以上的集合的时候,先计算最后两个集合的结果,再依次把前面的集合与其进行计算。
实现代码如下:
descates.js
/** * Created by Hawk on 2016/6/18. */ var DescartesUtils = { /** * 如果传入的参数只有一个数组,求笛卡尔积结果 * @param arr1 一维数组 * @returns {Array} */ descartes1:function(arr1){ // 返回结果,是一个二维数组 var result = []; var i = 0; for (i = 0; i = 3) { return DescartesUtils.descartes3(list); } } };
descartes.html
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
以上就是JavaScript 计算笛卡尔积实例详解的详细内容,更多请关注本站其它相关文章!