เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงเป็นอาร์กิวเมนต์เดียว ฟังก์ชันควรสร้างอาร์เรย์ของสตริงที่มีสตริงย่อยที่อยู่ติดกันที่เป็นไปได้ทั้งหมดที่มีอยู่ในอาร์เรย์
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const str = 'Delhi'; const allCombinations = (str1 = '') => { const arr = []; for (let x = 0, y=1; x < str1.length; x++,y++) { arr[x]=str1.substring(x, y); }; const combination = []; let temp= ""; let len = Math.pow(2, arr.length); for (let i = 0; i < len ; i++){ temp= ""; for (let j=0;j<arr.length;j++) { if ((i & Math.pow(2,j))){ temp += arr[j]; } }; if (temp !== ""){ combination.push(temp); } } return combination; }; console.log(allCombinations(str));
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -
[ 'D', 'e', 'De', 'l', 'Dl', 'el', 'Del', 'h', 'Dh', 'eh', 'Deh', 'lh', 'Dlh', 'elh', 'Delh', 'i', 'Di', 'ei', 'Dei', 'li', 'Dli', 'eli', 'Deli', 'hi', 'Dhi', 'ehi', 'Dehi', 'lhi', 'Dlhi', 'elhi', 'Delhi' ]