JavaScript 计算两个集合的笛卡尔积

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 ]
]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程