JavaScript中两个集合的笛卡尔积

笛卡尔积 

插入理论笛卡尔乘积是一种数学运算,它从多个集合中返回一个集合(或乘积集合或简单地乘积)。

也就是说,对于集合A和B,笛卡尔乘积A×B是所有有序对(a,b)的集合,其中a∈A和b∈B。

我们需要编写一个包含两个数组的JavaScript函数,我们将它们称为arr1和arr2,它们都代表两个不同的集合。

该函数应构造一个包含这两个集合的笛卡尔积的二维数组,最后返回该数组。

示例

以下是代码-

const arr1 = [1, 2, 3, 4];

const arr2 = [5, 6, 7, 8];

const cartesianProduct = (arr1 = [], arr2 = []) => {

   if (!arr1 || !arr2 || !arr1.length || !arr2.length) {

      return null;

   };

   const res = [];

   for (let i = 0; i < arr1.length; i += 1) {

      for (let j = 0; j < arr2.length; j += 1) {

         res.push([arr1[i], arr2[j]]);

      };

   };

   return res;

};

console.log(cartesianProduct(arr1, arr2));

输出结果

以下是控制台上的输出-

[

   [ 1, 5 ], [ 1, 6 ],

   [ 1, 7 ], [ 1, 8 ],

   [ 2, 5 ], [ 2, 6 ],

   [ 2, 7 ], [ 2, 8 ],

   [ 3, 5 ], [ 3, 6 ],

   [ 3, 7 ], [ 3, 8 ],

   [ 4, 5 ], [ 4, 6 ],

   [ 4, 7 ], [ 4, 8 ]

]

以上是 JavaScript中两个集合的笛卡尔积 的全部内容, 来源链接: utcz.com/z/321476.html

回到顶部