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

การแบ่งสตริงเป็น substrings แบบสลับหน้า-หลัง - JavaScript

แบ่งสตริงเป็น n ส่วนเท่ากัน โดยแต่ละส่วนประกอบจากตัวอักษรสลับกันจากหน้าและหลังของสตริงต้นฉบับ

ตัวอย่าง

str = "how", n = 3
ขั้นตอน: h(หน้า) o(หลัง) w(หน้า)
Output: ['h', 'w', 'o']

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

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));

ผลลัพธ์

[ 'h', 'w', 'o' ]

โครงสร้าง: อัลกอริทึมนี้สร้าง substring โดยสลับหยิบจากหน้าและหลัง แล้วกระจายเข้า subarrays