Chúng tôi được yêu cầu viết một hàm JavaScript nhận một chuỗi và một số n làm hai đối số (số phải sao cho nó chia chính xác độ dài của chuỗi) và chúng tôi phải trả về một mảng n chuỗi có độ dài bằng nhau.
Ví dụ -
Nếu chuỗi là "how" và số là 2, đầu ra của chúng ta phải là -
["h", "o", "w"];
Ở đây, chính xác mỗi chuỗi con đều chứa -
(length of array/n) characters
Và mọi chuỗi con được hình thành bằng cách lấy xen kẽ các chữ cái đầu tiên và cuối cùng của chuỗi.
Ví dụ
Sau đây là mã -
const str = "how"; const num = 3; const segregate = (str, n) => { if(str.length % n !== 0){ return false; } const len = str.length / n; const strArray = str.split(""); const arr = []; let i = 0, char; while(strArray.length){ if(i % 2 === 0){ char = strArray.shift(); }else{ char = strArray.pop(); }; if(i % len === 0){ arr[i / len] = char; }else{ arr[Math.floor(i / len)] += char; }; i++; }; return arr; }; console.log(segregate(str, num));
Đầu ra
Điều này sẽ tạo ra kết quả sau trong bảng điều khiển -
[ 'h', 'w', 'o' ]