Phương thức split
Phương thức split tách
chuỗi thành một mảng dựa trên
dấu phân cách được chỉ định
trong tham số đầu tiên.
Nếu nó không được chỉ định - toàn bộ
chuỗi sẽ được trả về. Nếu nó được chỉ định là dấu nháy trống,
thì mỗi ký tự của chuỗi sẽ trở thành một
phần tử riêng biệt trong mảng. Tham số thứ hai tùy chọn
có thể được sử dụng để chỉ định số lượng phần tử tối đa
trong mảng kết quả.
Cú pháp
chuỗi.split([dấu phân cách], [số lượng phần tử tối đa]);
Ví dụ
Giả sử chúng ta có một chuỗi chứa các dấu gạch ngang. Hãy
tách chuỗi này thành một mảng bằng dấu phân cách
'-':
let str = 'ab-cd-ef';
let arr = str.split('-');
console.log(arr);
Kết quả thực thi mã:
['ab', 'cd', 'ef']
Ví dụ
Hãy lại tách chuỗi bằng dấu phân cách
'-', tuy nhiên hãy chỉ định số lượng phần tử tối đa
trong mảng kết quả bằng tham số thứ hai, ví dụ: 2. Trong trường hợp này chỉ
2 phần tử đầu tiên sẽ được đưa vào
mảng:
let str = 'ab-cd-ef';
let arr = str.split('-', 2);
console.log(arr);
Kết quả thực thi mã:
['ab', 'cd']
Ví dụ
Hãy đặt mỗi ký tự của chuỗi vào một phần tử riêng biệt trong mảng:
let str = 'abcde';
let arr = str.split('');
console.log(arr);
Kết quả thực thi mã:
['a', 'b', 'c', 'd', 'e']
Ví dụ
Hãy đặt 3 ký tự đầu tiên của chuỗi vào
các phần tử riêng biệt trong mảng:
let str = 'abcde';
let arr = str.split('', 3);
console.log(arr);
Kết quả thực thi mã:
['a', 'b', 'c']
Ví dụ
Hãy sử dụng split để tách
một chuỗi chứa các chữ số. Lưu ý rằng
kết quả sẽ là một mảng các chuỗi ký tự,
chứ không phải là một mảng các số:
let str = '12345';
let arr = str.split('');
console.log(arr);
Kết quả thực thi mã:
['1', '2', '3', '4', '5']
Ví dụ . Ứng dụng
Hãy đảo ngược thứ tự các ký tự trong chuỗi.
Để làm điều này, trước tiên hãy tách chuỗi thành một mảng
bằng split với dấu phân cách ''
(điều này sẽ đặt mỗi ký tự của chuỗi vào một phần tử riêng biệt),
sau đó đảo ngược mảng này
bằng reverse
và sau đó nối mảng đã đảo ngược lại
bằng join:
let str = '123456789';
let arr1 = str.split('');
let arr2 = arr1.reverse();
let res = arr2.join('');
console.log(res);
Kết quả thực thi mã:
'987654321'
Ví dụ . Ứng dụng
Hãy đơn giản hóa giải pháp của bài toán trước - kết hợp tất cả các lệnh thành một chuỗi:
let str = '123456789';
let res = str.split('').reverse().join('');
console.log(res);
Kết quả thực thi mã:
'987654321'
Ví dụ . Ứng dụng
Cho một chuỗi chứa các chữ số. Hãy tìm tổng của các chữ số
trong chuỗi này. Để làm điều này, hãy tách chuỗi
thành một mảng, sau đó duyệt qua mảng này và
tính tổng của nó. Có một lưu ý: split
trả về các chuỗi ký tự, vì vậy khi tính tổng
chúng ta cần chuyển đổi các chuỗi số này thành số thực sự
bằng 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);
Kết quả thực thi mã:
15
Ví dụ . Ứng dụng
Cho một số. Hãy đặt mỗi chữ số
của số này vào một phần tử riêng biệt trong mảng.
Có một lưu ý ở đây - split chỉ áp dụng
được cho chuỗi, trong khi chúng ta có một số. Trước tiên hãy chuyển đổi
số thành chuỗi bằng String,
rồi sau đó áp dụng split:
let num = 12345;
let str = String(num);
let arr = str.split('');
console.log(arr);
Kết quả thực thi mã:
['1', '2', '3', '4', '5']