Hi 🤓 Cảm ơn bạn đã ghé thăm blog này, nếu những bài viết trên blog giúp ích cho bạn. Bạn có thể giúp blog hiển thị quảng cáo bằng cách tạm ngừng ad blocker 😫 và để giúp blog duy trì hoạt động nếu bạn muốn.
Cảm ơn bạn!

Xóa phần từ trong mảng là một trong những bài toán chúng ta rất hay gặp. Hôm nay mình xin giới thiệu một số cách xóa phần tử trong mảng để các bạn tham khảo thêm nhé. Cùng bắt đầu thôi nào!

pop() method

Chắc mình không cần phải giới thiệu về method này nữa đúng không? Một method mà chúng ta đã quá quen thuộc đó là pop() ^^. Khi sử dụng pop(), nó sẽ xóa phần tử cuối cùng của mảng. Kết quả sẽ return về phần tử đã xóa và sẽ làm thay đổi mảng chính.

const ten = ['trang', 'nhi', 'tung', 'long', 'yen'];

console.log(ten.pop());
// "yen"

console.log(ten);
// ['trang', 'nhi', 'tung', 'long']

Nếu gọi pop() trên một mảng empty, nó sẽ trả về undefined.

Ngược lại với pop() ta có shift(). Method này sẽ giúp bạn xóa phần tử đầu tiên của mảng.

shift() method

const array = [1, 2, 3];

const elementRemoved = array.shift();

console.log(elementRemoved);
//  [2, 3]

console.log(elementRemoved);
//  1

Nếu gọi shift() trên một mảng empty, nó sẽ trả về undefined.

splice() method

Method tiếp theo mình muốn giới thiệu là splice(). Method này làm thay đổi một mảng bằng cách xóa hoặc thay thế phần tử mà chúng ta muốn hoặc dùng để thêm các phần tử mới vào vị trí mong muốn.

Cú pháp:

splice(start, deleteCount, item1, itemN)

const arr = [1, 3, 4, 5];
arr.splice(1, 0, 2);

// expected output: Array [1, 2, 3, 4, 5]

Ở ví dụ trên splice nhận đầu vào thứ nhất là vị trí bắt đầu (start), 0 là số phần tử muốn xóa tính từ start, cuối cùng là phần tử muốn thêm vào.

const language = ['JavaScript', 'PHP', 'C++', 'C#'];

language.splice(2, 1); 

console.log(language); //['JavaScript', 'PHP', 'C#']

Ở ví dụ trên mình muốn xóa phần tử C++ khỏi mảng thì chỉ cần tìm index của C++ là 2 và xóa 1 phần tử tính từ index thứ 2. Kết quả ok như mong đợi.

Ngoài ra chúng ta còn có thể thêm hoặc xóa phần tử cùng lúc. Cùng xem ví dụ dưới đây:

const language = ['JavaScript', 'PHP', 'C++', 'C#'];

language.splice(2, 1, 'Java', 'Python'); 

// ['JavaScript', 'PHP', 'Java', 'Python', 'C#']

splice sẽ trả về một mảng chứa các phần tử đã bị xóa. Nếu không có phần tử nào bị xóa, nó sẽ return về 1 empty array.

delete operator

delete được sử dụng để xóa một property của một object nhưng có thể dùng để xóa phần tử trong mảng.

var rappers = ['eminem', 'tupac', 'biggie', 'Eazy-E', 'Ice Cube'];
delete rappers[3];

Khi xóa theo cách này thì độ dài của mảng sẽ không bị thay đổi.

Array length

Ngoài ra còn 1 cách nữa đó là set length của mảng có phần tử muốn xóa.

const numbers = [1, 2, 3, 4, 5];

numbers.length = 2;

console.log(numbers); // [1, 2]

Như vậy là mình đã giới thiệu cho các bạn một số cách để chúng ta giải quyết bài toán xóa phần tử trong mảng rồi. Hy vọng bài viết này sẽ giúp ích cho các bạn. Chúc các bạn học tốt ^^.

Có thể bạn thích ⚡
homiedev
About Me

Hi, I'm @devnav. Một người thích chia sẻ kiến thức, đặc biệt là về Frontend 🚀. Trang web này được tạo ra nhằm giúp các bạn học Frontend hiệu quả hơn 🎉😄.

Chúc các bạn tìm được kiến thức hữu ích trong blog này 😁😁.