String trong Javascript, các methods hay dùng nhất

Tiếp nối sau bài viết Làm việc với Number trong Javascript thật dễ dàng, thì nay mình sẽ nói về string hay chuỗi trong JS. Methods xử lý string cũng rất đa dạng. Nhưng trong bài này, mình sẽ nói về các methods mà mình hay sử dụng nhất.

https://www.youtube.com/watch?v=FNZil5TjqVE

Các bạn có thể xem video cho chi tiết và trực quan nhất nhé.

Còn không thì… let’s goooooo

Cách khai báo

Có rất nhiều cách khai báo như

const singleQuoted = 'Hello world' // Nháy đơn
const doubleQuoted = "Hello world" // Nháy kép
const backticks = `Hello world`    // Nháy huyền ngược (backticks)

Đặc biệt hơn hết, cách khai báo kiểu backticks rất hữu dụng, bạn làm rất nhiều thứ chẳng hạn

let name = 'khucblog.com'
let str = `Hello ${name} ${1 + 1}` // 'Hello khucblog.com 2'

Các methods xử lý String hay dùng nhất

Hàm .trim

hàm này dùng để cắt khoảng trống đầu và cuối của một chuỗi.

let str = '   Jonah Go Dev  '
str.length // 17
str.trim().length // 12

Hàm .toLowerCase và .toUpperCase

Tiếp theo là bộ đôi toLowerCasetoUpperCase.

  • toLowerCase: Biến chữ thành kiểu viết thường.
  • toUpperCase: Biến chữ thành kiểu viết hoa.
let str = 'Jonah Go Dev'
str.toLowerCase() // 'jonah go dev'
str.toUpperCase() // 'JONAH GO DEV'

Hàm .slice

Trong JS thì có khá nhiều hàm cắt chuỗi, nhưng slice vẫn quá đủ để cho bạn xử lý.

let str = 'Jonah Go Dev'
str.slice(0, 5) // 'Jonah' -> cắt từ vị trí 0 đến vị trí 5
str.slice(6) // 'Go Dev' -> Cắt từ vị trí 6 đến cuối dãy chuỗi
str.slice(-3) // 'Dev' -> Có thể truyền giá trị âm để cắt

Hàm .indexOf

Hàm này để tìm kiếm vị trí trong chuỗi.

let str = 'Jonah Go Dev'
str.indexOf('Go') // 6 => tìm thấy 'Go' từ vị trí thứ 6

Hàm .indexOf sẽ đi từ trái qua phải để kiểm tra. Còn hàm .lastIndexOf nữa, hàm này sẽ ngược lại, đi từ phải qua trái.

Hàm .replace

Hàm này dùng để thay thế chuỗi. Các bạn có thể xem video trên (phút 7:37) để nhìn được ví dụ trực quan hơn. Dưới đây mình lấy một ví dụ đơn giản nhất.

let str = 'Jonah Go Dev'
str.replace('Jonah', 'John') // 'John Go Dev'

Hàm .split

Hàm này dùng để băm chuỗi thành mảng dựa vào tham số truyền vào.

let str = 'Jonah Go Dev'
// Băm chuỗi thành mảng dựa vào khoảng trắng.
str.split(' ') // ['Jonah', 'Go', 'Dev']

// Băm chuỗi dựa vào chữ 'Go'
str.split('Go') // ['Jonah ', ' Dev']

Hàm .normalize

Một trong những hàm tuyệt, giúp chuyển đổi về một định dạng Unicode để so sánh. Hãy xem ví dụ dưới:

const name1 = '\u0041\u006d\u00e9\u006c\u0069\u0065'
const name2 = '\u0041\u006d\u0065\u0301\u006c\u0069\u0065'

// Có thể nhìn thấy, name1 và name2 khá giống nhau bằng mắt nhìn
console.log(`${name1}, ${name2}`) // "Amélie, Amélie"

// Nhưng khi so sánh thì chúng lại không bằng nhau vì khác kiểu Unicode.
console.log(name1 === name2) // false
console.log(name1.length === name2.length) // false

// Mình sẽ chuyển 2 dãy chuỗi này thành đúng 1 kiểu unicode là 'NFC'
const name1NFC = name1.normalize('NFC')
const name2NFC = name2.normalize('NFC')

// Giờ chúng ta có thể so sánh một cách chính xác nhất.
console.log(`${name1NFC}, ${name2NFC}`) // "Amélie, Amélie"
console.log(name1NFC === name2NFC) // false
console.log(name1NFC.length === name2NFC.length) // false

Và đây là tóm tắt qua cách mà mình xử lý chuỗi trong Javascript. Để có thể trực quan nhất, thì mình khuyên các bạn xem qua video mà mình đã làm trên kia. Còn không thì mình cảm ơn các bạn đã đọc ^^

You may also like...

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *