Hàm slice() trong JavaScript

Hàm slice() trong JavaScript
Hàm slice() trong JavaScript

Chức năng của Hàm slice() trong JavaScript

Hàm slice() trong JavaScript dùng để tách một số phần tử, ký tự của mảng hoặc chuỗi gốc để tạo mảng mới hoặc chuỗi mới và không ảnh hưởng mảng hoặc chuỗi gốc, vị trí bắt đầu tính từ số 0.

Cú pháp của Hàm slice() trong JavaScript

manghoacchuoi.slice(vitribatdau,vitriketthuc);

manghoacchuoi: Mảng hoặc chuỗi

vitribatdau: Ví trí bắt đầu.

vitriketthuc: Vị trí kết thúc (nhưng chỉ lấy đến vitriketthuc-1).

manghoacchuoi.slice(vitribatdau);

manghoacchuoi: Mảng hoặc chuỗi

vitribatdau: Ví trí bắt đầu tới cuối mảng hoặc chuỗi.

Code Hàm slice() trong JavaScript

Hàm slice() xử lý mảng trong JavaScript

<script>
// Lấy từ vị trí 1 tới vị trí 3
document.write("<b>Lấy từ vị trí 1 tới vị trí 3</b><br>"); 
var mang  = new Array("Hạ","Vân","Lực","Quỳnh","Dung","Nhím","Cherry");
var mangmoi = mang.slice(1,4);
// Vòng lặp xem các phần tử trong mảng
mangmoi.forEach((value, key) => {
document.write("Vị trí "+key+": "+value+"<br>"); 
});

// Lấy từ vị trí bắt đầu đến hết mảng
document.write("<b>Lấy từ vị trí bắt đầu đến hết mảng</b><br>"); 
var mang  = new Array("Hạ","Vân","Lực","Quỳnh","Dung","Nhím","Cherry");
var mangmoi = mang.slice(1);
// Vòng lặp xem các phần tử trong mảng
mangmoi.forEach((value, key) => {
document.write("Vị trí "+key+": "+value+"<br>"); 
});
</script>

Kết quả:

Vị trí 0: Vân
Vị trí 1: Lực
Vị trí 2: Quỳnh
Lấy từ vị trí bắt đầu đến hết mảng
Vị trí 0: Vân
Vị trí 1: Lực
Vị trí 2: Quỳnh
Vị trí 3: Dung
Vị trí 4: Nhím
Vị trí 5: Cherry

Chạy Thử

Hàm slice() xử lý chuỗi trong JavaScript

<script>
// Lấy từ vị trí 8 tới vị trí 10
document.write("<b>Lấy từ vị trí 8 tới vị trí 10</b><br>");    	
var chuoigoc = "web moi xin chao quy khach";
var chuoimoi  = chuoigoc.slice(8,11);
document.write(chuoimoi+"<br>");

// Lấy từ vị trí 12 tới cuối chuỗi
document.write("<b>Lấy từ vị trí 12 tới cuối chuỗi</b><br>");    	
var chuoigoc = "web moi xin chao quy khach";
var chuoimoi  = chuoigoc.slice(12);
document.write(chuoimoi);

</script>

Kết quả:

xin

Chạy Thử

Những điểm cần lưu ý khi sử dụng hàm slice() trong JavaScript

slice() không làm thay đổi mảng hoặc chuỗi ban đầu

Một ưu điểm quan trọng của slice() là phương thức này tạo ra một phần dữ liệu mới thay vì chỉnh sửa trực tiếp mảng hoặc chuỗi ban đầu. Điều này giúp hạn chế những thay đổi ngoài ý muốn khi cần lấy một phần dữ liệu để xử lý riêng.

Với mảng, giá trị trả về là một mảng mới. Với chuỗi, phương thức trả về một chuỗi mới chứa phần ký tự được chọn. Vì vậy, có thể sử dụng slice() khi cần trích xuất dữ liệu nhưng vẫn muốn giữ nguyên dữ liệu gốc.

const numbers = [10, 20, 30, 40, 50];

const selected = numbers.slice(1, 4);

console.log(selected);
console.log(numbers);

Kết quả là selected chứa các phần tử từ vị trí 1 đến trước vị trí 4, trong khi numbers vẫn giữ nguyên. Đây là điểm cần nhớ khi so sánh slice() với những phương thức có khả năng thay đổi trực tiếp mảng.

Chỉ số âm trong slice() hoạt động như thế nào?

slice() cho phép sử dụng chỉ số âm để tính vị trí từ cuối mảng hoặc chuỗi. Cách này đặc biệt tiện lợi khi muốn lấy một số phần tử ở cuối mà không cần biết chính xác độ dài dữ liệu.

const numbers = [10, 20, 30, 40, 50];

const result = numbers.slice(-2);

console.log(result);

Trong ví dụ trên, -2 tương ứng với vị trí cách cuối mảng hai phần tử, nên kết quả nhận được là hai phần tử cuối. Tương tự, chỉ số âm cũng có thể được dùng với chuỗi khi cần lấy phần ký tự tính từ cuối.

Khi kết hợp chỉ số bắt đầu và kết thúc, cả hai đều có thể là số âm. Tuy nhiên, vị trí kết thúc vẫn không được đưa vào kết quả, đúng theo quy tắc hoạt động của slice().

Phân biệt slice() với splice() và substring()

slice(), splice()substring() có cách sử dụng khá giống nhau ở một số trường hợp nhưng phục vụ những mục đích khác nhau. Chọn đúng phương thức giúp mã JavaScript dễ đọc và tránh làm thay đổi dữ liệu ngoài dự kiến.

  • slice(): lấy một phần của mảng hoặc chuỗi mà không sửa dữ liệu ban đầu.
  • splice(): thao tác trực tiếp trên mảng, có thể xóa, thay thế hoặc thêm phần tử.
  • substring(): trích xuất một phần chuỗi dựa trên vị trí bắt đầu và kết thúc, không dùng chỉ số âm theo cách của slice().

Nếu mục tiêu chỉ là lấy một phần dữ liệu và giữ nguyên dữ liệu gốc, slice() thường là lựa chọn phù hợp. Khi cần thay đổi nội dung của mảng, splice() sẽ đáp ứng nhu cầu đó. Còn với thao tác cắt chuỗi, substring() có thể được cân nhắc khi cách xử lý chỉ số của nó phù hợp với trường hợp đang làm.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm slice() trong JavaScript.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm slice() trong JavaScript
Email, Điện thoại 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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !