Độ dài chuỗi trong JavaScript | Laptrinhcanban.com

Độ dài chuỗi trong JavaScript

Hướng dẫn tính độ dài chuỗi trong JavaScript, hay còn gọi là đếm số ký tự trong chuỗi JavaScript. Bạn sẽ học được cách sử dụng thuộc tính length trong JavaScript để tìm độ dài chuỗi được chỉ định sau bài học này.

Độ dài chuỗi trong JavaScript là gì

Độ dài chuỗi trong JavaScript chính là số mã ký tự được sử dụng để tạo nên chuỗi đó JavaScript, và trong phần lớn trường hợp chính là số ký tự có trong chuỗi đó.

Độ dài chuỗi trong JavaScript là gì

Trong JavaScript, về mặc định thì các ký tự sẽ được lưu giữ ở dạng bảng mã ký tự UTF-16, mà trong bảng mã này thì mỗi ký tự bình thường sẽ được biểu diễn bởi 1 mã ký tự, do đó thông thường thì chúng ta cũng coi việc tìm độ dài chuỗi trong JavaScript chính là đi đếm số ký tự trong chuỗi JavaScript.

Ví dụ chuỗi bigcityboy được tạo bởi 10 ký tự, nên độ dài của chuỗi này bằng 10 chẳng hạn.

Tuy nhiên chúng ta cũng cần lưu ý là trong bảng mã này ngoài các ký tự bình thường thì cũng chứa các ký tự đặc biệt là surrogate pair characters (ví dụ như econ cảm xúc Emoji ‘😸’ chẳng hạn) với mỗi ký tự được biểu diễn bởi 2 mã ký tự. Do đó cũng có trường hợp độ dài chuỗi sẽ không bằng với số ký tự chứa trong nó.

Đếm số ký tự trong chuỗi javascript bằng thuộc tính length

Chúng ta sử dụng thuộc tính length để đếm số ký tự trong chuỗi javascript với các ký tự thông thường.

Length trong JavaScript là một thuộc tính của Object trong JavaScript giúp chúng ta đếm số phần tử có trong Object đó. Nếu chỉ định Object này là một chuỗi, bạn sẽ đếm số ký tự chuỗi trong JavaScript. Nếu chỉ định Object này là một mảng, bạn sẽ đếm số phần tử trong mảng JavaScript.

Cú pháp sử dụng thuộc tính length như sau:

str.length

Kết quả trả về sẽ số mã ký tự được sử dụng để biểu diễn chuỗi str được chỉ định, và thông thường thì kết quả này sẽ bằng với số ký tự trong chuỗi JavaScript.

Lưu ý là về mặc định thì ký tự trong JavaScript được lưu giữ bởi bảng mã ký tự UTF-16 với các ký tự bình thường sẽ được biểu diễn bởi 1 mã ký tự, do đó kết quả của thuộc tính length trong JavaScript là số ký tự có trong chuỗi chứ không phải là số bite có trong chuỗi, do đó kể cả các ký tự được tạo bởi 2 bite trở lên như tiếng Việt có dấu hay tiếng Nhật zenkaku, thì thuộc tính length cũng đưa ra kết quả là số ký tự trong chuỗi JavaScript .

Ví dụ:

//Tính độ dài chuỗi chứa ký tự 1 bite trong JavaScript
console.log('Hello'.length);
//> 5

//Tính độ dài chuỗi chứa ký tự 2 bite trong JavaScript
console.log('Chào'.length);
//> 4

//Tính độ dài chuỗi chứa ký tự 2 bite trong JavaScript
console.log('toukyo'.length);
//> 6

Duy nhất chỉ trong trường hợp nếu chuỗi ký tự đó chứa các ký tự surrogate pair characters thì kết quả thuộc tính length mới không phải là số ký tự trong chuỗi JavaScript mà thôi.

Độ dài chuỗi trong JavaScript khi chứa ký tự surrogate pair characters

Về mặc định thì ký tự trong JavaScript được lưu giữ bằng bảng mã ký tự UTF-16 và các ký tự bình thường sẽ được biểu diễn bởi 1 mã ký tự. Tuy nhiên nếu các ký tự đó là ký tự surrogate pair characters thì do các ký tự này được biểu diễn bởi 2 mã ký tự, nên kết quả thuộc tính length của các ký tự này sẽ là 2 chứ không phải là 1 như bình thường.

Ví dụ:

let surrogate_pair1 = '𪛊';
console.log(surrogate_pair1.length);
//> 2

let surrogate_pair12 = '😸';
console.log(surrogate_pair2.length);
//> 2

Bạn có thể thấy mặc dù chỉ có 1 ký tự trong chuỗi nhưng độ dài chuỗi chứa ký tự surrogate pair characters là 2 rồi phải không nào.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách tính độ dài chuỗi trong JavaScript cũng như cách đếm số ký tự trong chuỗi JavaScript bằng thuộc tính length rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.