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

Tách một chuỗi thành chuỗi con - JavaScript

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' ]