Hướng dẫn javascript split

Phương thức string.split() sẽ phân tách một chuỗi thành một mảng dữ liệu dựa vào các kí tự phân cách trong chuỗi. Phương thức sẽ trả về một mảng mới.

Hướng dẫn javascript split

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nếu kí tự phân cách là một chuỗi rỗng, mỗi kí tự trong chuỗi sẽ được phân tách thành một phần tử của mảng.

Phương thức string.split() sẽ không làm thay đổi chuỗi gốc ban đầu.

Cú pháp

Cú phápstring.split(separator, limit)

Bài viết này được đăng tại [free tuts .net]

Trong đó:

  • separator là kí tự phân cách trong chuỗi, phương thức sẽ dựa vào kí tự này để phân tách chuỗi. Nếu không truyền vào, mảng trả về sẽ có một phần tử duy nhất có giá trị bằng chuỗi ban đầu. Nếu truyền vào một chuỗi rỗng, mỗi kí tự trong chuỗi sẽ là một phần tử của mảng trả về.
  • limit là tham số quy định số phần tử tối đa của mảng trả về. Nếu không được truyền vào thì phương thức sẽ lấy tất cả các phần tử có thể.

Cách sử dụng

Ví dụ: sử dụng phương thức string.split() để phân tách chuỗi đơn giản.



    
        
    
    
        

Học lập trình miễn phí tại freetuts.net

Kết quả

freetuts.net,la,blog,chia,se,kien,thuc

Ví dụ 2: sử dụng tham số limit.



    
        
    
    
        

Học lập trình miễn phí tại freetuts.net

Kết quả

freetuts.net,la,blog

Tham khảo: w3schools.com

Phương thức split của một đối tượng chuỗi được sử dụng để chia một chuỗi thành một mảng các chuỗi con và trả về mảng mới.

Mẹo: Nếu một chuỗi trống ("") được sử dụng làm dấu phân tách, thì chuỗi sẽ được phân tách giữa mỗi ký tự.

Lưu ý: Phương thức split() không thay đổi chuỗi gốc.

Cú pháp

string.split(separator, limit)

Giá trị tham số

separator Không bắt buộc. Chỉ định ký tự, hoặc biểu thức chính quy (regular expression), để sử dụng để tách chuỗi. Nếu bỏ qua, toàn bộ chuỗi sẽ được trả về (một mảng chỉ có một mục)
limit Không bắt buộc. Một số nguyên chỉ định số lần tách, các mục sau giới hạn chia sẽ không được đưa vào mảng

Giá trị trả về

Một mảng, chứa các giá trị đã tách

Ví dụ

Bỏ qua tham số separator:

var str = "Xin chào. Tôi là Daipho.com. Chúc một ngày vui vẻ.";
var res = str.split();

Tách từng ký tự, kể cả khoảng trắng:

var str = "Xin chào. Tôi là Daipho.com. Chúc một ngày vui vẻ.";
var res = str.split("");

Sử dụng tham số limit:

var str = "Xin chào. Tôi là Daipho.com. Chúc một ngày vui vẻ.";
var res = str.split(" ", 3);

Tách các câu bằng cách sử dụng 1 dấu chấm và 1 khoảng trắng làm dấu phân cách:

var str = "Xin chào. Tôi là Daipho.com. Chúc một ngày vui vẻ.";
var res = str.split(". ");

Các phương thức có sẵn của JavaScript giúp chúng ta rất nhiều trong khi lập trình, khi mà chúng ta hiểu chúng một cách chính xác. Tôi muốn giải thích ba phương thức dễ gây nhầm lẫn trong bài viết này đó là: slice (), splice () và split (). Có lẽ vì việc đặt tên của chúng quá giống nhau nên chúng thường bị nhầm lẫn, ngay cả trong số các dev có kinh nghiệm.

Nào hãy bắt đầu…

Mảng trong JavaScript

Thứ nhất, bạn cần hiểu cách các mảng JavaScript hoạt động như thế nào. Giống như các ngôn ngữ lập trình khác, tôi sử dụng các mảng để lưu trữ nhiều dữ liệu trong JS. Nhưng sự khác biệt là các mảng JS có thể chứa các loại dữ liệu khác nhau cùng một lúc.

Đôi khi chúng ta cần thực hiện các thao tác trên các mảng. Sau đó, chúng tôi sử dụng một số phương thức JS như slice () & splice (). Bạn có thể xem bên dưới cách khai báo một mảng trong JavaScript:

let newArray = [];   // khởi tạo mảng trong JS

Bây giờ, hãy khai báo một mảng khác với các kiểu dữ liệu khác nhau. Tôi sẽ sử dụng nó dưới đây trong ví dụ:

let array = [1, 2, 3, "hello world", 4.12, true];

Một mảng với các kiểu dữ liệu khác nhau: chuỗi, số và boolean được xem là hợp lệ trong JavaScript.

Slice()

Phương thức slice() sao chép một phần nhất định của một mảng và trả về phần được sao chép đó thành một mảng mới. Và nó làm không thay đổi thành phần của mảng ban đầu.

array.slice(from, until);
  • From: Vị trí bắt đầu của phần từ bị cắt trong mảng.
  • Until: Số phần từ bị cắt tiếp theo bắt đầu từ vị trí "from"

Ví dụ, tôi muốn cắt ba phần tử đầu tiên từ mảng trên. Vì phần tử đầu tiên của mảng luôn được lập vị trí 0 và tôi thay “from” bằng 0.

array.slice(0, until); 

Bây giờ khi tôi muốn cắt ba phần tử đầu tiên, tôi thay thế tham số "until" bằng 3.

let newArray = array.slice(0, 3);   // Giá trị trả về cũng là một mảng

Cuối cùng, tôi gán Array đã cắt cho biến newArray. Bây giờ chúng ta hãy xem kết quả:

Lưu ý: phương thức Slice() cũng có thể được sử dụng cho các chuỗi.

Splice()

Tên của hàm này rất giống với slice(). Sự tương đồng về đặt tên này thường gây nhầm lẫn cho các lập trình viên. Phương thức splice() thay đổi một mảng, bằng cách thêm hoặc loại bỏ các phần tử từ nó. Hãy xem cách thêm và xóa các phần tử bằng slice():

Xóa phần tử

Để xóa các phần tử, chúng ta cần cung cấp tham số vị trí bắt đầu và số lượng các phần tử cần xóa:

array.splice(index, number of elements);

index là điểm bắt đầu để xóa các phần tử. Các phần tử có số vị trí nhỏ hơn từ index sẽ không bị xóa:

array.splice(2);  // mọi phần tử bắt đầu từ vị trí thứ 2, sẽ bị xóa

Nếu bạn không truyền tham số thứ hai, mọi phần tử từ vị trí bắt đầu của mảng sẽ bị xóa khỏi mảng đó:

Ví dụ thứ hai, tôi đưa tham số thứ hai là 1, vì vậy các phần tử bắt đầu từ vị trí thứ 2 sẽ bị xóa từng cái một mỗi lần chúng ta gọi phương thức splice():

array.splice(2, 1);

Mảng ban đầu:

kết quả sau khi gọi lần 1:

kết quả sau khi gọi lần 2:

Thêm phần tử

Để thêm các phần tử, chúng ta cần cung cấp các phần tử cho chúng như là các tham số thứ 3, thứ 4, thứ 5 (phụ thuộc vào số lượng cần thêm) vào phương thức splice():

array.splice(index, number of elements, element, element);

Ví dụ, tôi sẽ thêm a và b vào phần đầu của mảng và tôi không xóa gì cả:

array.splice(0, 0, 'a', 'b');  

Split()

Các phương thức Slice()splice() dành cho các mảng. Phương thức split() được sử dụng cho các chuỗi. Nó chia một chuỗi thành các chuỗi và trả về chúng như một mảng. Nó có 2 tham số, và cả hai đều là tùy chọn.

string.split(separator, limit);
  • Separator: Xác định cách chia chuỗi… bằng dấu phẩy, ký tự, v.v.
  • Limit: Giới hạn số lần chia tách

Phương thức split() không hoạt động trực tiếp cho các mảng. Tuy nhiên, trước tiên chúng ta có thể chuyển đổi các phần tử của mảng thành chuỗi, sau đó chúng ta có thể sử dụng phương thức split().

let myString = array.toString();

Bây giờ, hãy chia myString bằng dấu phẩy, giới hạn chúng thành ba phần tử và trả về chúng dưới dạng mảng:

let newArray = myString.split(",", 3);

Như chúng ta có thể thấy, myString được phân tách bằng dấu phẩy. Vì chúng ta giới hạn chia thành 3, chỉ có 3 phần tử đầu tiên được trả về.

Chú ý: Chúng ta có một cách sử dụng phương thức này như sau: array.split (""); kết quả trả về là mỗi ký tự của chuỗi sẽ được chia thành các phần tử:

Tổng kết

Slice()

  • Sao chép các phần tử từ một mảng.
  • Trả về chúng dưới dạng mảng mới.
  • Không thay đổi mảng ban đầu.
  • Bắt đầu cắt từ ... cho đến khi chỉ mục đã cho: array.slice(from, until) .
  • Slice không bao gồm tham số chỉ mục “until” .
  • Có thể được sử dụng cho cả mảng và chuỗi.

Splice()

  • Được sử dụng để thêm / xóa các phần tử khỏi mảng.
  • Trả về một mảng các phần tử đã xóa.
  • Thay đổi mảng Để thêm các phần tử: array.splice(index, number of elements, elements) .
  • Để loại bỏ các phần tử: array.splice(index, number of elements) .
  • Chỉ có thể được sử dụng cho mảng.

Split()

  • Chia chuỗi thành chuỗi.
  • Trả về chúng trong một mảng.
  • Lấy 2 tham số, cả hai tham số là tùy chọn: string.split(separator, limit) .
  • Không thay đổi chuỗi gốc.
  • Chỉ có thể được sử dụng cho chuỗi.

Có nhiều phương thức tích hợp khác cho các mảng và chuỗi JavaScript. Nếu bạn tìm hiểu cách sử dụng, những phương pháp này giúp việc lập trình của bản rễ ràng hơn.
Thank you for reading!

Nguồn tham khảo