Xóa mục trong mảng JavaScript

Câu hỏi kinh điển này thỉnh thoảng lại xuất hiện. Ngay cả người tạo ra Node. js Ryan Dahl đã hỏi câu hỏi này từ khán giả trong Node của anh ấy. js (nhân tiện, đây là một bản trình bày xuất sắc)

Làm cách nào để xóa phần tử khỏi mảng?

Toán tử delete có được sử dụng không?

Sử dụng mối nối () để xóa mục tùy ý

Cách chính xác để xóa một phần tử khỏi mảng là sử dụng splice(). Phải mất một chỉ mục và số lượng mục cần xóa bắt đầu từ chỉ mục đó

> let array = ["a", "b", "c"];
> let index = 1;
> array.splice(index, 1);
[ 'b' ]
> array;
[ 'a', 'c' ]

Đừng nhầm lẫn điều này với người anh em họ tương tự của nó là slice() được sử dụng để trích xuất một phần của mảng

Sử dụng shift() để xóa từ đầu

Nếu bạn luôn quan tâm đến việc xóa mục đầu tiên hoặc mục cuối cùng, thì bạn có một giải pháp thay thế. Các phương pháp shift()

> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]
0 tồn tại chính xác cho mục đích này. Với shift(), bạn có thể xóa mục đầu tiên

> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]

Sử dụng pop() để xóa từ cuối

Và với

> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]
0, bạn có thể xóa mục cuối cùng

> let array = ["a", "b", "c"];
> array.pop();
'c'
> array;
[ 'a', 'b' ]

Sử dụng xóa tạo các điểm trống

Dù bạn làm gì, đừng sử dụng delete để xóa một mục khỏi mảng. Ngôn ngữ JavaScript chỉ định rằng các mảng thưa thớt, tôi. e. , họ có thể có lỗ hổng trong họ

Sử dụng delete tạo ra các loại lỗ này. Nó xóa một mục khỏi mảng, nhưng nó không cập nhật thuộc tính độ dài. Điều này khiến mảng ở trạng thái buồn cười tốt nhất nên tránh

> let array = ["a", "b", "c"];
> delete array[1];
> array;
[ 'a', , 'c' ]
> array.length
3

Lưu ý chỗ trống và chiều dài không thay đổi

Nhớ lấy điều này

Lần tới khi bạn cần xóa thứ gì đó khỏi mảng, hãy ghi nhớ những điều sau

Xóa?Một mục
> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]
5Mục đầu tiên
> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]
6Mục cuối cùng
> let array = ["a", "b", "c"];
> array.shift();
'a'
> array;
[ 'b', 'c' ]
7Xóa thì sao?Cố gắng tránh delete, gây ra các mảng thưa thớt. Các phương thức JavaScript để xóa một phần tử khỏi một mảng

Xóa mục trong mảng JavaScript

Nút không đợi cuộc gọi cơ sở dữ liệu của bạn kết thúc?

Tìm hiểu cách cuộc gọi không đồng bộ hoạt động và làm cho ứng dụng của bạn chạy như bạn dự định. Nhận khóa học email ngắn về tính không đồng bộ và hai chương từ Hoàn thiện ứng dụng nút của bạn

Phương thức shift() loại bỏ phần tử mảng đầu tiên và "chuyển" tất cả các phần tử khác sang chỉ số thấp hơn

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. sự thay đổi();

Tự mình thử »

Phương thức shift() trả về giá trị đã được "chuyển ra ngoài"

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
để trái cây = trái cây. sự thay đổi();

Tự mình thử »


Mảng JavaScript unshift()

Phương thức toString()0 thêm một phần tử mới vào một mảng (ở đầu) và "bỏ dịch chuyển" các phần tử cũ hơn

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. unshift("Chanh");

Tự mình thử »

Phương thức toString()0 trả về độ dài mảng mới

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. unshift("Chanh");

Tự mình thử »


Thay đổi các yếu tố

Các phần tử mảng được truy cập bằng số chỉ mục của chúng

Chỉ mục mảng bắt đầu bằng 0

[0] là phần tử mảng đầu tiên
[1] là thứ hai
[2] là thứ ba

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
trái cây[0] = "Kiwi";

Tự mình thử »


Độ dài mảng JavaScript

Thuộc tính toString()2 cung cấp một cách dễ dàng để thêm một phần tử mới vào một mảng

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
trái cây [trái cây. chiều dài] = "Kiwi";

Tự mình thử »


Xóa mảng JavaScript()

Cảnh báo

Có thể xóa các phần tử mảng bằng cách sử dụng toán tử JavaScript toString()3

Sử dụng toString()3 để lại toString()5 lỗ trong mảng

Thay vào đó, hãy sử dụng pop() hoặc shift()

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
xóa trái cây[0];

Tự mình thử »


Hợp nhất (Nối) Mảng

Phương thức toString()6 tạo một mảng mới bằng cách hợp nhất (nối) các mảng hiện có

Ví dụ (Hợp nhất hai mảng)

const myGirls = ["Cecilie", "Lone"];
const myBoys = ["Emil", "Tobias", "Linus"];

const myChildren = myGirls. concat(myBoys);

Tự mình thử »

Phương thức toString()6 không thay đổi các mảng hiện có. Nó luôn trả về một mảng mới

Phương thức toString()6 có thể nhận bất kỳ số lượng đối số mảng nào

Ví dụ (Hợp nhất ba mảng)

const arr1 = ["Cecilie", "Lone"];
const arr2 = ["Emil", "Tobias", "Linus"];
const arr3 = ["Robin", "Morgan"];
const myChildren = arr1. concat(mảng 2, mảng 3);

Tự mình thử »

Phương thức toString()6 cũng có thể lấy các chuỗi làm đối số

Ví dụ (Hợp nhất một mảng với các giá trị)

const arr1 = ["Emil", "Tobias", "Linus"];
const myChildren = arr1. concat("Peter");

Tự mình thử »


Mảng nối và cắt

Phương thức join()0 thêm các mục mới vào một mảng

Phương thức join()1 cắt ra một phần của mảng


Nối mảng JavaScript()

Phương thức join()0 có thể được sử dụng để thêm các phần tử mới vào một mảng

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. mối nối(2, 0, "Chanh", "Kiwi");

Tự mình thử »

Tham số đầu tiên (2) xác định vị trí mà các phần tử mới sẽ được thêm vào (ghép vào)

Tham số thứ hai (0) xác định số lượng phần tử sẽ bị xóa

Các tham số còn lại ("Lemon" , "Kiwi") xác định các phần tử mới sẽ được thêm vào

Phương thức join()0 trả về một mảng với các mục đã bị xóa

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. mối nối(2, 2, "Chanh", "Kiwi");

Tự mình thử »


Sử dụng mối nối () để loại bỏ các phần tử

Với cách thiết lập thông số thông minh, bạn có thể sử dụng join()0 để loại bỏ phần tử mà không để lại "lỗ hổng" trong mảng

Ví dụ

const trái cây = ["Chuối", "Cam", "Táo", "Xoài"];
hoa quả. mối nối (0, 1);

Tự mình thử »

Tham số đầu tiên (0) xác định vị trí mà các phần tử mới sẽ được thêm vào (được ghép vào)

Tham số thứ hai (1) xác định số lượng phần tử sẽ bị xóa

Các thông số còn lại bỏ qua. Không có yếu tố mới sẽ được thêm vào


Lát mảng JavaScript()

Phương thức join()1 cắt một phần của mảng thành một mảng mới

Ví dụ này cắt ra một phần của mảng bắt đầu từ phần tử mảng 1 ("Orange")

Ví dụ

const fruit = ["Chuối", "Cam", "Chanh", "Táo", "Xoài"];
const citrus = trái cây. lát(1);

Tự mình thử »

Ghi chú

Phương thức join()1 tạo một mảng mới

Phương thức join()1 không xóa bất kỳ phần tử nào khỏi mảng nguồn

Ví dụ này cắt ra một phần của mảng bắt đầu từ phần tử mảng 3 ("Apple")

Ví dụ

const fruit = ["Chuối", "Cam", "Chanh", "Táo", "Xoài"];
const citrus = trái cây. lát(3);

Tự mình thử »

Phương thức join()1 có thể nhận hai đối số như join()9

Sau đó, phương thức chọn các phần tử từ đối số bắt đầu và tối đa (nhưng không bao gồm) đối số kết thúc

Ví dụ

const fruit = ["Chuối", "Cam", "Chanh", "Táo", "Xoài"];
const citrus = trái cây. lát (1, 3);

Tự mình thử »

Nếu đối số kết thúc bị bỏ qua, như trong các ví dụ đầu tiên, thì phương thức join()1 sẽ loại bỏ phần còn lại của mảng

Ví dụ

const fruit = ["Chuối", "Cam", "Chanh", "Táo", "Xoài"];
const citrus = trái cây. lát(2);

Tự mình thử »


Tự động toString()

JavaScript tự động chuyển đổi một mảng thành một chuỗi được phân tách bằng dấu phẩy khi một giá trị nguyên thủy được mong đợi