Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

คำนวณผลคูณคาร์ทีเซียนขององค์ประกอบในอาร์เรย์ใน JavaScript


ผลิตภัณฑ์คาร์ทีเซียน

ผลคูณคาร์ทีเซียนของสองชุด (อาร์เรย์) A และ B ซึ่งแทน A × B เป็นเซต (อาร์เรย์) ของคู่ลำดับทั้งหมด (a, b) โดยที่ a อยู่ใน A และ b อยู่ใน B

ในแง่ที่ง่ายกว่า ผลิตภัณฑ์คาร์ทีเซียนของสองอาร์เรย์คือการเรียงสับเปลี่ยนของอาร์เรย์ที่เป็นไปได้ทั้งหมดของสององค์ประกอบซึ่งมีองค์ประกอบแรกเป็นของอาร์เรย์แรกและองค์ประกอบที่สองเป็นของอาร์เรย์ที่สอง

ตัวอย่างเช่น − หากอาร์เรย์ทั้งสองเป็น −

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

จากนั้นผลิตภัณฑ์คาร์ทีเซียนของพวกเขาจะเป็น −

const product = [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const arr1 = [1, 2, 3];
const arr2 = [4, 5];
const cartesianProduct = (arr1, arr2) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++){
      for(let j = 0; j < arr2.length; j++){
         res.push(
            [arr1[i]].concat(arr2[j])
         );
      };
   };
   return res;
};
console.log(cartesianProduct(arr1, arr2));

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ], [ 3, 4 ], [ 3, 5 ] ]