Computer >> Máy Tính >  >> Lập trình >> Javascript

Sản phẩm cacte phân tách dấu gạch ngang của bất kỳ số mảng nào trong JavaScript


Chúng tôi bắt buộc phải viết một hàm JavaScript nhận vào bất kỳ số lượng mảng ký tự nào. Hàm sẽ tính toán và trả về một mảng tích các-ten của tất cả các phần tử từ các mảng phân tách chúng bằng dấu gạch ngang ('-').

Ví dụ

Mã cho điều này sẽ là -

const arr1= [ 'a', 'b', 'c', 'd' ];
const arr2= [ '1', '2', '3' ];
const arr3= [ 'x', 'y', ];
const dotCartesian = (...arrs) => {
   const res = arrs.reduce((acc, val) => {
      let ret = [];
      acc.map(obj => {
         val.map(obj_1 => {
            ret.push(obj + '−' + obj_1)
         });
      });
      return ret;
   });
   return res;
};
console.log(dotCartesian(arr1, arr2, arr3));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   'a−1−x', 'a−1−y', 'a−2−x',
   'a−2−y', 'a−3−x', 'a−3−y',
   'b−1−x', 'b−1−y', 'b−2−x',
   'b−2−y', 'b−3−x', 'b−3−y',
   'c−1−x', 'c−1−y', 'c−2−x',
   'c−2−y', 'c−3−x', 'c−3−y',
   'd−1−x', 'd−1−y', 'd−2−x',
   'd−2−y', 'd−3−x', 'd−3−y'
]