Hướng dẫn delete javascript - xóa javascript

Chúng ta có hai cách xóa phần tử của mảng đó là sử dụng lệnh delete và hàm splice của Array, trong hai cách này thì ta nên sử dụng hàm splice để xóa bởi lệnh delete chỉ xóa giá trị thành undefined chứ không xóa phần tử vĩnh viễn, còn hàm splice thì xóa vĩnh viễn.

Nội dung chính

  • Sử dụng lệnh delete
  • Sử dụng hàm splice
  • 1.1 Dùng cách set lại độ dài của mảng
  • 1.2 Dùng pop[]
  • 2. Xóa các phần tử ở đầu mảng Javascript
  • 3. Sử dụng Splice
  • 3.1 Xóa một mảng phần tử
  • 3.2 Xóa phần tử bằng giá trị của nó
  • 4. Sử dụng Array.filter xóa phần tử bằng giá trị
  • 5. Phương thức remove trong Lodash
  • 6. Tự tạo phương thức xóa 😁
  • 7. Loại bỏ chính xác phần tử bằng toán tử delete
  • Đánh giá bài viết

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

Sử dụng lệnh delete

Sử dụng hàm spliceUndefined.

1.1 Dùng cách set lại độ dài của mảng

// Giá trị ban đầu            
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]

// Thực hiện xóa
delete domain[2];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", Undefined, "codeigniter.com"];

1.2 Dùng pop[]

Sử dụng hàm splice

1.1 Dùng cách set lại độ dài của mảng

1.2 Dùng pop[]

1.1 Dùng cách set lại độ dài của mảng

// Giá trị ban đầu            
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]

// Thực hiện xóa
domain.splice[2,1];// Xóa bắt đầu từ phần tử thứ 2 với chiều dài là 1 phần tử
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "codeigniter.com"];

1.2 Dùng pop[]

2. Xóa các phần tử ở đầu mảng Javascript

const car = {
  model: 'Fiesta',
  color: 'green'
}

3. Sử dụng Splice

3.1 Xóa một mảng phần tử

3.2 Xóa phần tử bằng giá trị của nó

4. Sử dụng Array.filter xóa phần tử bằng giá trị

1.1 Dùng cách set lại độ dài của mảng

1.2 Dùng pop[]

var ar = [1, 2, 3, 4, 5, 6];
ar.length = 4; // đặt độ dài để xóa bớt phần tử ở cuối
console.log[ ar ]; //  [1, 2, 3, 4]

1.2 Dùng pop[]

2. Xóa các phần tử ở đầu mảng Javascript

var ar = [1, 2, 3, 4, 5, 6];
ar.pop[]; // returns 6
console.log[ ar ]; // [1, 2, 3, 4, 5]

2. Xóa các phần tử ở đầu mảng Javascript

3. Sử dụng SpliceJavaScript?

3.1 Xóa một mảng phần tửshift hoạt động giống như phương thức pop ngoại trừ việc loại bỏ phần tử đầu tiên của mảng JavaScript thay vì phần tử cuối cùng.

3.2 Xóa phần tử bằng giá trị của nó

var ar = ['zero', 'one', 'two', 'three'];
ar.shift[]; // returns "zero"
console.log[ ar ]; // ["one", "two", "three"]

4. Sử dụng Array.filter xóa phần tử bằng giá trị

5. Phương thức remove trong Lodashundefined.

3. Sử dụng Splice

3.1 Xóa một mảng phần tửSplice có thể được sử dụng để thêm hoặc xóa các phần tử khỏi một mảng.

  1. 3.2 Xóa phần tử bằng giá trị của nó
  2. 4. Sử dụng Array.filter xóa phần tử bằng giá trị
  3. 5. Phương thức remove trong Lodash

3.1 Xóa một mảng phần tử

3.2 Xóa phần tử bằng giá trị của nóSplice để loại bỏ hai phần tử, bắt đầu từ vị trí ba [chỉ số dựa trên zero]:

var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
var removed = array.splice[2,2];

/*
removed === [3, 4]
array === [1, 2, 5, 6, 7, 8, 9, 0]
*/

3.2 Xóa phần tử bằng giá trị của nó

4. Sử dụng Array.filter xóa phần tử bằng giá trịtrường hợp hay gặp nhất đó là xóa một phần tử bằng giá trị của phần tử đó

5. Phương thức remove trong Lodash

6. Tự tạo phương thức xóa 😁

7. Loại bỏ chính xác phần tử bằng toán tử deleteindexOf

var ar = ['zero', 'one', 'two', 'three'];
ar.splice[ar.indexOf['one'], 1];
console.log[ ar ]; // ["zero", "two", "three"]

4. Sử dụng Array.filter xóa phần tử bằng giá trị

5. Phương thức remove trong Lodashsplice[], filter[] tạo ra một mảng mới. filter[] không làm thay đổi mảng mà nó được gọi, nhưng trả về một mảng mới.

6. Tự tạo phương thức xóa 😁 có một tham số duy nhất, một phương thức gọi lại [callback function]. Cuộc gọi lại được kích hoạt khi phương thức lọc lặp qua các phần tử mảng. Nó sẽ chuyển ba giá trị cho hàm gọi lại:

  1. 7. Loại bỏ chính xác phần tử bằng toán tử delete
  2. Đánh giá bài viết
  3. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong Javascript có lệnh delete dùng để xóa phần tử trong mảng, tuy nhiên lệnh này chỉ xóa giá trị của phần tử cần xóa chứ tổng chiều dài của mảng không thay đổi, vì vậy vị trí xóa đó sẽ có giá trị là Undefined.true. Các phần tử trả về true được thêm vào mảng mới được lọc.

var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];

var filtered = array.filter[function[value, index, arr]{
    return value > 5;
}];

//kết quả filtered => [6, 7, 8, 9]
//mảng array vẫn giữ nguyên => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

Ví dụkhớp với filter được trả về. Mảng ban đầu thì không bị ảnh hưởng. Mình thấy điều này hữu ích vì mình thường muốn giữ lại dữ liệu gốc, nhưng truy xuất các tập hợp con để xử lý các nhu cầu logic khác nhau.

5. Phương thức remove trong Lodash

Đôi khi các thư viện tiện ích là cách tốt nhất để giải quyết các vấn đề phức tạp hơn. Lodash cung cấp một tập hợp phong phú các phương thức thao tác mảng, trong đó có phương thức remove[].Lodash cung cấp một tập hợp phong phú các phương thức thao tác mảng, trong đó có phương thức remove[].

Phương thức remove[] hoạt động giống như phương thức filter[], nhưng sắp xếp ngược lại. Nó không lưu các giá trị mảng ban đầu, nhưng loại bỏ các phần tử khớp với điều kiện. Và cuối cùng, nó trả về các phần tử phù hợp như là một mảng mới.remove[] hoạt động giống như phương thức filter[], nhưng sắp xếp ngược lại. Nó không lưu các giá trị mảng ban đầu, nhưng loại bỏ các phần tử khớp với điều kiện. Và cuối cùng, nó trả về các phần tử phù hợp như là một mảng mới.

// Giá trị ban đầu            
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]

// Thực hiện xóa
domain.splice[2,1];// Xóa bắt đầu từ phần tử thứ 2 với chiều dài là 1 phần tử
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "codeigniter.com"];
0

6. Tự tạo phương thức xóa 😁

Như đã nói ở đầu bài viết, không có phương thức chuyển để xóa phần tử khỏi mảng kiểu như Array.remove[]. Phương pháp Lodash giải quyết được vấn đề này, nhưng không phải lúc nào bạn cũng muốn sử dụng Lodash. Điều này không có nghĩa là bạn không thể tạo ra một phương thức tiện ích cho riêng mình.Array.remove[]. Phương pháp Lodash giải quyết được vấn đề này, nhưng không phải lúc nào bạn cũng muốn sử dụng Lodash. Điều này không có nghĩa là bạn không thể tạo ra một phương thức tiện ích cho riêng mình.

// Giá trị ban đầu            
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]

// Thực hiện xóa
domain.splice[2,1];// Xóa bắt đầu từ phần tử thứ 2 với chiều dài là 1 phần tử
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "codeigniter.com"];
1

Ví dụ trên chỉ đơn giản, bạn có thể sửa đổi cho phù hợp với nhu cầu của bạn, nhưng có lẽ filter[] vẫn là ổn nhấtfilter[] vẫn là ổn nhất

7. Loại bỏ chính xác phần tử bằng toán tử delete

Bạn có thể xóa các thành phần mảng cụ thể bằng cách sử dụng toán tử delete:

// Giá trị ban đầu            
var domain = ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"];
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "php.net", "codeigniter.com"]

// Thực hiện xóa
domain.splice[2,1];// Xóa bắt đầu từ phần tử thứ 2 với chiều dài là 1 phần tử
console.log[domain.length]; // Kết quả: 4
console.log[domain]; // Kết quả: ["freetuts.net", "w3schools.com", "codeigniter.com"];
2

Sử dụng toán tử delete không ảnh hưởng đến thuộc tính độ dài. Nó cũng không ảnh hưởng đến các chỉ số của các element tiếp theo. Mảng trở nên thưa thớt, đó là một cách thú vị để nói rằng mục bị xóa không bị xóa mà trở nên không xác định. So sánh cách sử dụng delete với phương thức splice[] được mô tả dưới đây.toán tử delete không ảnh hưởng đến thuộc tính độ dài. Nó cũng không ảnh hưởng đến các chỉ số của các element tiếp theo. Mảng trở nên thưa thớt, đó là một cách thú vị để nói rằng mục bị xóa không bị xóa mà trở nên không xác định. So sánh cách sử dụng delete với phương thức splice[] được mô tả dưới đây.

Toán tử delete được thiết kế để xóa các thuộc tính khỏi các đối tượng JavaScript, mà các mảng là các đối tượng.

Lý do phần tử không thực sự bị xóa khỏi mảng là toán tử delete liên quan đến giải phóng bộ nhớ hơn là xóa một phần tử. Bộ nhớ được giải phóng khi không còn tham chiếu đến giá trị.liên quan đến giải phóng bộ nhớ hơn là xóa một phần tử. Bộ nhớ được giải phóng khi không còn tham chiếu đến giá trị.

💕💕👉love2dev ⌨️⌨️

Theo dõi Chung Nguyễn Blog

Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog nếu thường xuyên đọc bài trên website hay chỉ đơn giản là mến mộ sự đẹp trai thanh lịch của chàng trai coder tuổi trăng tròn đôi mươi thì hãy tặng cho Chung một LIKE trên trang Facebook Chung Nguyễn Blog nhé! Mãi yêu các bạn!LIKE trên trang Facebook Chung Nguyễn Blog nhé! Mãi yêu các bạn!

813 👍

Đánh giá bài viết

9+ cách để xóa một phần tử ra khỏi JavaScript Array

5/5 1 votes/5 1 votes

Chủ Đề