Chúng ta cần viết một hàm JavaScript nhận vào một chuỗi làm đối số duy nhất. Hàm nên xây dựng đệ quy tất cả các chuỗi con có thể có của chuỗi đầu vào. Sau đó hàm trả về một mảng chứa tất cả các chuỗi con.
Ví dụ
const str = 'example';
const buildSubstrings = (str = '') => {
let i, j;
const res = [];
for (i = 0; i < str.length; i++) {
for (j = i + 1; j < str.length + 1; j++) {
res.push(str.slice(i, j));
}
}
return res;
};
console.log(buildSubstrings(str));Kết quả
Kết quả hiển thị trong console sẽ là:
[ 'e', 'ex', 'exa', 'exam', 'examp', 'exampl', 'example', 'x', 'xa', 'xam', 'xamp', 'xampl', 'xample', 'a', 'am', 'amp', 'ampl', 'ample', 'm', 'mp', 'mpl', 'mple', 'p', 'pl', 'ple', 'l', 'le', 'e' ]