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[]
và
> 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ảngNú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[];
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[];
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"];
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"];
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";
Độ 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";
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];
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];
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"];
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"];
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"];
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];
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];
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];
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];
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ự độ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