码迷,mamicode.com
首页 > 编程语言 > 详细

笛卡尔算法

时间:2020-05-18 18:47:44      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:ref   https   笛卡尔   target   OLE   isa   red   成员   function   

笛卡尔乘积是指在数学中,两个集合XY的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

例如,A={a,b}, B={0,1,2},则

A×B={(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}

B×A={(0, a), (0, b), (1, a), (1, b), (2, a), (2, b)}

   function calcDescartes(array) {
        if (array.length < 2) return array[0] || [];
        return [].reduce.call(array, function (col, set) {
            var res = [];
            col.forEach(function (c) {
                set.forEach(function (s) {
                    var t = [].concat(Array.isArray(c) ? c : [c]);
                    t.push(s);
                    res.push(t);
                })
            });
            return res;
        });
    }
    console.log(calcDescartes([[1, 2, 3], [‘a‘, ‘b‘, ‘c‘]]));

技术图片

 

笛卡尔算法

标签:ref   https   笛卡尔   target   OLE   isa   red   成员   function   

原文地址:https://www.cnblogs.com/yinghuochongfighter/p/12912061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!