Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีรวมอาร์เรย์ที่ให้มาทั้งหมดแบบไดนามิกด้วย JavaScript


สมมติว่าเรามีอาร์เรย์ค่าคงที่สองอาร์เรย์ดังนี้

const arr1= ['a', 'b', 'c']; const arr2= ['d', 'e', 'f'];

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ทั้งสองและสร้างทุกการจัดเรียงที่เป็นไปได้จากอาร์เรย์เหล่านั้น

ดังนั้น สำหรับอาร์เรย์ทั้งสองนี้ ผลลัพธ์ควรเป็นดังนี้

const output = [ad, ae, af, bd, be, bf, cd, ce, cf];

ตัวอย่างโค้ด

โค้ดสำหรับการทำงานนี้จะเป็นดังนี้

const arr1= ['a', 'b', 'c']; const arr2= ['d', 'e', 'f']; 
const combineArrays = (...arr) => { 
  const res = []; 
  const combinePart = (part, index) => { 
    arr[index].forEach(el => { 
      const p = part.concat(el); 
      if(p.length === arr.length){ 
        res.push(p.join('')); 
        return; 
      }; 
      combinePart(p, index + 1); 
    }); 
  }; 
  combinePart([], 0); 
  return res; 
} 
console.log(combineArrays(arr1, arr2));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

[ 
  'ad', 'ae', 'af', 
  'bd', 'be', 'bf', 
  'cd', 'ce', 'cf' 
]