paint-brush
Cách sử dụng Phương pháp lát cắt Javascripttừ tác giả@iggy
4,688 lượt đọc
4,688 lượt đọc

Cách sử dụng Phương pháp lát cắt Javascript

từ tác giả Ignatius Sani4m2022/12/12
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

Hàm slice Javascript là một phương thức mảng hoặc chuỗi tích hợp sẵn trả về một bản sao nông của một phần của mảng thành một đối tượng mảng mới. Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng kỹ thuật lát cắt Javascript và cách tận dụng tiềm năng bất biến của nó. Sẽ không có sửa đổi nào đối với mảng ban đầu. Phương pháp cắt Javascript sẽ không thay đổi hoặc thay đổi dữ liệu gốc. Phương pháp này có thể được sử dụng trong các lĩnh vực sau; tuy nhiên, cần lưu ý rằng phương pháp lát cắt cũng có thể được sử dụng trên các mảng không phải mảng.
featured image - Cách sử dụng Phương pháp lát cắt Javascript
Ignatius Sani HackerNoon profile picture

Phương thức slice() của Javascript sẽ không thay đổi hoặc thay đổi dữ liệu gốc. Hướng dẫn này sẽ hướng dẫn bạn cách sử dụng kỹ thuật lát cắt Javascript và cách tận dụng tiềm năng bất biến của nó.


Phương pháp lát javascript là gì?

Nói một cách đơn giản, hàm slice javascript là một phương thức chuỗi hoặc mảng tích hợp sẵn trả về một bản sao nông của một phần của mảng thành một đối tượng mảng mới, trong đó 'bắt đầu' và 'kết thúc' là các chỉ số của mảng. Sẽ không có sửa đổi nào đối với mảng ban đầu.


 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(2)); // ['ruby', 'rust', 'python']


Chúng tôi cắt tại chỉ mục 2 bằng cách sử dụng cơ sở không có chỉ mục, tạo ra một mảng mới có chứa phần tử được cắt. Nhưng nếu chúng ta kiểm tra mảng gốc (ngôn ngữ) thì sao? Nó sẽ được thay đổi? Kỹ thuật cắt lát javascript, không giống như chức năng ghép nối javascript, không làm thay đổi hoặc ảnh hưởng đến dữ liệu gốc.


Cách sử dụng phương pháp lát Javascript

Phương pháp lát Javascript khá đơn giản để sử dụng; tuy nhiên để hiểu đầy đủ về nó, chúng tôi sẽ nhấn mạnh cú pháp của nó.

Cú pháp cho điều này là gì? Cú pháp này được viết đơn giản bằng cách bao quanh từ 'slice' với dấu ngoặc đơn '()' như sau:


 slice()


Vì đây là một phương thức nên nó chấp nhận các đối số, cho phép bạn linh hoạt hơn đối với những gì bạn có thể làm với một mảng bằng cách sử dụng hàm slice.


Chúng như sau:

  1. Bắt đầu
  2. Chấm dứt


Tham số bắt đầu, đơn giản chỉ ra chỉ mục mà tại đó phương thức lát cắt sẽ bắt đầu, có thể được truyền cho hàm lát cắt. Để xem lại ví dụ trước, phương thức slice chấp nhận 2 làm đầu vào, nghĩa là bắt đầu từ chỉ mục 2. Nếu đối số bắt đầu không được chỉ định, chỉ mục sẽ được đặt thành 0. Đối số kết thúc cũng có thể được gửi đến lát cắt nhưng nó phụ thuộc vào tham số bắt đầu để hoạt động bình thường. Đối số kết thúc hướng dẫn mảng tại chỉ mục nào nó sẽ hoàn thành việc trích xuất phần tử. Nó thực hiện điều này bằng cách không bao gồm phần cuối, mà chỉ tính đến phần cuối. Nếu đối số kết thúc không được chỉ định, độ dài mảng đầy đủ sẽ được trả về.


 slice(start) slice(start,end)


Sử dụng phương thức slice: giả sử chúng ta có một mảng chứa một số loại ngôn ngữ lập trình và chúng ta muốn chọn ba phần tử từ mảng. Chúng ta chỉ cần viết hàm slice(1,4), cung cấp hai tham số dựa trên chỉ mục là bắt đầu và kết thúc. Quá trình trích xuất sẽ bắt đầu với chỉ mục đã chỉ định, 1 và kết thúc bằng 4, nhưng thay vì trả về phần tử thứ tư chính xác, nó sẽ cung cấp phần tử trước phần tử thứ tư.


Đây là cách nó được thực hiện:

 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['ruby', 'rust', 'python']


Mảng mới được trả về mà không sửa đổi mảng hiện có.

 const language = ["javascript", "java", "ruby", "rust", "python"]; console.log(language.slice(1,4)); // ['java', 'ruby', 'rust'] console.log(language); // ['javascript', 'java', 'ruby', 'rust', 'python']


Sử dụng phương pháp lát trên các mảng không

Mảng javascript có thể được sử dụng trong các lĩnh vực sau; tuy nhiên, cần lưu ý rằng phương pháp lát cắt cũng có thể được sử dụng trên các mảng không phải mảng.


  1. Sử dụng phương pháp lát Javascript trên các đối tượng.

  2. Sử dụng phương thức lát Javascript trên mảng thưa thớt.

  3. Sử dụng phương thức lát Javascript để chuyển đổi các mảng không thành mảng.

    Sử dụng phương thức lát Javascript trên các đối tượng

    Phương thức slice trong javascript hoạt động trên các đối tượng bằng cách trước tiên xem xét độ dài thuộc tính của đối tượng, sau đó đọc các thuộc tính khóa số nguyên từ đầu đến cuối. Và đặt chúng vào một mảng mới. Nó sử dụng phương thức call().


     const arrayLike = { length: 3, 0: 2, 1: 3, 2: 4, }; console.log(Array.prototype.slice.call(arrayLike, 1, 3)); // [3, 4]

    Sử dụng phương thức lát Javascript trên mảng thưa thớt

    Khi phương thức lát cắt javascript được sử dụng trên một mảng thưa thớt, mảng được trả về từ slice() có thể thưa thớt nếu nguồn thưa thớt.


     console.log([1, 2, , 4, 5].slice(1, 4)) // [2, empty, 4]

    Sử dụng phương thức lát Javascript để chuyển đổi các mảng không phải mảng thành một mảng

    Để xây dựng một hàm tiện ích chuyển đổi một đối tượng dạng mảng thành một mảng, hãy sử dụng phương thức slice Javascript, cũng như các phương thức call()bind() .


 const sliceEl = Function.prototype.call.bind(Array.prototype.slice); function list() {  return sliceEl(arguments); } const listed = list(1, 2, 3) console.log(listed) //[1, 2, 3]

câu hỏi thường gặp

Sự khác biệt giữa phương pháp lát và ghép trong Javascript là gì?

Slice được sử dụng để tạo một mảng mới từ mảng ban đầu, trong khi splice được sử dụng để thêm/xóa các phần tử khỏi mảng ban đầu. Trong trường hợp của một lát cắt, những thay đổi không được phản ánh trong mảng ban đầu; tuy nhiên, trong trường hợp ghép nối, các thay đổi được phản ánh trong mảng ban đầu.

Điểm giống nhau giữa phương pháp lát và ghép là gì?

Điểm giống nhau chính giữa chúng là cả hai đều là phương thức của mảng javascript.

Khi nào tôi sử dụng phương pháp lát cắt?

Nếu bạn không muốn dữ liệu gốc bị sửa đổi hoặc thay đổi trong khi thực hiện một tác vụ, thì phương pháp lát cắt là cách tốt nhất để thực hiện. Đây là một cách tiếp cận điển hình trong ReactJs.

mang đi

Cuối cùng, phương thức javascript slice() là một cách để sao chép. Nó không thay đổi mảng ban đầu mà thay vào đó cung cấp một bản sao nông với một số mục giống như mảng ban đầu. Chúng chấp nhận hai tham số tùy chọn, 'bắt đầu' và 'kết thúc', đồng thời lấy các phần tử khỏi mảng tùy thuộc vào các tham số này. Chúng được áp dụng cho các mảng không. Đối tượng, mảng thưa thớt, v.v.