วิธีการ split
วิธีการ split แยก
สตริงเป็นอาร์เรย์ตามตัวคั่น
ที่ระบุในพารามิเตอร์แรก
หากไม่ได้ระบุ - จะส่งคืนทั้ง
สตริง หากระบุเป็นเครื่องหมายคำพูดว่าง
แต่ละอักขระของสตริงจะเข้าสู่
องค์ประกอบแยกต่างหากของอาร์เรย์ พารามิเตอร์ที่สอง
ซึ่งเป็นทางเลือก
สามารถระบุจำนวนสูงสุด
ขององค์ประกอบในอาร์เรย์ผลลัพธ์ได้
ไวยากรณ์
สตริง.split([ตัวคั่น], [จำนวนสูงสุดขององค์ประกอบ]);
ตัวอย่าง
สมมติว่ามีสตริงบางส่วนที่มีเครื่องหมายขีดกลาง มา
แยกสตริงนี้เป็นอาร์เรย์ตามตัวคั่น
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['ab', 'cd', 'ef']
ตัวอย่าง
มาแยกสตริงตามตัวคั่น
'-' อีกครั้ง แต่คราวนี้ระบุพารามิเตอร์ที่สอง
เป็นจำนวนสูงสุดขององค์ประกอบใน
อาร์เรย์ผลลัพธ์ เช่น 2 ในกรณีนี้
ในอาร์เรย์จะบันทึกเพียง 2 องค์ประกอบ:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['ab', 'cd']
ตัวอย่าง
มาเขียนแต่ละอักขระของสตริงใน องค์ประกอบแยกต่างหากของอาร์เรย์:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['a', 'b', 'c', 'd', 'e']
ตัวอย่าง
มาเขียน 3 อักขระแรกของสตริง
ในองค์ประกอบแยกต่างหากของอาร์เรย์:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['a', 'b', 'c']
ตัวอย่าง
มาใช้ split แยก
สตริงที่มีตัวเลข โปรดสังเกตว่า
ผลลัพธ์ที่ได้จะเป็นอาร์เรย์ของสตริง
ไม่ใช่อาร์เรย์ของตัวเลข:
let str = '12345';
let arr = str.split('');
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['1', '2', '3', '4', '5']
ตัวอย่าง . การประยุกต์ใช้
มาเรียงลำดับอักขระของสตริงในทาง
กลับกัน โดยแยกสตริงเป็นอาร์เรย์
ด้วย split ตามตัวคั่น ''
(ซึ่งจะวางแต่ละอักขระของสตริงในองค์ประกอบแยกต่างหาก
ของอาร์เรย์) เรียงลำดับอาร์เรย์นี้ใหม่
ด้วย reverse
จากนั้นรวมอาร์เรย์ที่เรียงใหม่กลับ
ด้วย join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
ผลลัพธ์การทำงานของโค้ด:
'987654321'
ตัวอย่าง . การประยุกต์ใช้
มาทำให้การแก้ไขปัญหาก่อนหน้านี้เรียบง่ายขึ้น - รวม คำสั่งทั้งหมดเป็นห่วงโซ่:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
ผลลัพธ์การทำงานของโค้ด:
'987654321'
ตัวอย่าง . การประยุกต์ใช้
มีสตริงที่มีตัวเลข มาหาผลรวมของตัวเลข
จากสตริงนี้ โดยแยกสตริง
เป็นอาร์เรย์ แล้ววนลูปอาร์เรย์นี้และ
หาผลรวมของมัน มีข้อควรระวัง: split
ส่งคืนสตริง ดังนั้นเมื่อรวมผล
ควรแปลงตัวเลข-สตริงเหล่านี้เป็น
ตัวเลขจริงด้วย Number:
let str = '12345';
let arr = str.split('');
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += Number(arr[i]);
}
console.log(sum);
ผลลัพธ์การทำงานของโค้ด:
15
ตัวอย่าง . การประยุกต์ใช้
มีตัวเลข มาเขียนแต่ละหลัก
ของตัวเลขนี้ในองค์ประกอบแยกต่างหากของอาร์เรย์
มีข้อควรระวัง - split ใช้ได้
เฉพาะกับสตริง แต่ของเราคือตัวเลข ควรแปลง
ตัวเลขเป็นสตริงก่อนด้วย String
จากนั้นจึงใช้ split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
ผลลัพธ์การทำงานของโค้ด:
['1', '2', '3', '4', '5']