Hướng dẫn how do i remove an object from an array with javascript? - làm cách nào để xóa một đối tượng khỏi một mảng bằng javascript?
Bạn có thể sử dụng một số phương thức để xóa (các) mục khỏi một mảng: Show
Nếu bạn muốn xóa phần tử tại vị trí 4, hãy sử dụng:
Hoặc
Trả lời nhận xét của @Chill182: Bạn có thể xóa một hoặc nhiều phần tử khỏi một mảng bằng cách sử dụng 5 hoặc 6 kết hợp với 7 (xem MDN).MDN).Xem dự án Stackblitz này hoặc đoạn trích bên dưới:
Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:11Apr 5, 2012 at 8:11
KooiinckooiincKooiInc Huy hiệu vàng 115K3131 gold badges141 silver badges176 bronze badges 8 Giải pháp sạch sẽ là sử dụng 5:
Vấn đề với điều này là nó không hoạt động trên IE <9. Tuy nhiên, bạn có thể bao gồm mã từ thư viện JavaScript (ví dụ: UnderCore.js) thực hiện điều này cho bất kỳ trình duyệt nào.
Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:11Apr 5, 2012 at 8:11
KooiinckooiincJon Huy hiệu vàng 115K3178 gold badges723 silver badges793 bronze badges 7 Giải pháp sạch sẽ là sử dụng 5:
Vấn đề với điều này là nó không hoạt động trên IE <9. Tuy nhiên, bạn có thể bao gồm mã từ thư viện JavaScript (ví dụ: UnderCore.js) thực hiện điều này cho bất kỳ trình duyệt nào.
JonjonApr 5, 2012 at 8:14
419K78 Huy hiệu vàng723 Huy hiệu bạc793 Huy hiệu Đồngpsyho Tôi khuyên bạn nên sử dụng lodash.js hoặc Sugar.js cho các nhiệm vụ phổ biến như thế này:5 gold badges22 silver badges23 bronze badges 9 ES2015
Trong hầu hết các dự án, có một tập hợp các phương thức trợ giúp được cung cấp bởi các thư viện như thế này khá hữu ích.John! Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:14Aug 8, 2017 at 18:50
PsyhopsyhoSaeid 7.0645 Huy hiệu vàng22 Huy hiệu bạc23 Huy hiệu đồng1 gold badge8 silver badges12 bronze badges 4 Nó sẽ loại bỏ John!
Đã trả lời ngày 8 tháng 8 năm 2017 lúc 18:50Apr 11, 2012 at 20:54
4 Saeidsaeid
1.1491 Huy hiệu vàng8 Huy hiệu bạc12 Huy hiệu đồng 0Còn cái này thì sao? 1Đã trả lời ngày 11 tháng 4 năm 2012 lúc 20:54 2"Mảng" của bạn như được hiển thị là cú pháp JavaScript không hợp lệ. Dấu ngoặc xoăn 9 dành cho các đối tượng có tên/cặp giá trị thuộc tính, nhưng dấu ngoặc vuông 0 dành cho các mảng - như SO:Apr 5, 2012 at
8:12
Trong trường hợp đó, bạn có thể sử dụng phương thức 1 để loại bỏ một mục. Để xóa mục đầu tiên (chỉ mục 0), giả sử:nnnnnnNếu bạn không biết chỉ mục nhưng muốn tìm kiếm qua mảng để tìm mục có tên "Kristian" để loại bỏ bạn có thể với điều này:29 gold badges193 silver badges234 bronze badges 4 Chỉnh sửa: Tôi chỉ nhận thấy câu hỏi của bạn được gắn thẻ "jQuery", vì vậy bạn có thể thử phương thức 2:Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:12 3nnnnnnnnnnnn 4Badges vàng 145K29Apr 18, 2015 at 12:14
Bạn có thể sử dụng Array.Filter ().daCoda ví dụ.4 gold badges31 silver badges34 bronze badges 3 Hàm mũi tên: 5Đã trả lời ngày 18 tháng 4 năm 2015 lúc 12:14 6DacodadacodaMay 7, 2013 at 4:01
3.2884 Huy hiệu vàng31 Huy hiệu bạc34 Huy hiệu đồngBishoy Hanna Tôi đã tạo một hàm động lấy mảng, khóa và giá trị của đối tượng và trả về cùng một mảng sau khi xóa đối tượng mong muốn:2 gold badges33 silver badges32 bronze badges 0 Ví dụ đầy đủ: Bản demo 7Đã trả lời ngày 7 tháng 5 năm 2013 lúc 4:01Jul 18, 2014 at 15:50
Bishoy Hannabishoy Hannaggmendez 11.5k2 Huy hiệu vàng33 Huy hiệu bạc32 Huy hiệu Đồng5 silver badges18 bronze badges 0 Đây là một chức năng phù hợp với tôi: 8
Đã trả lời ngày 18 tháng 7 năm 2014 lúc 15:50 GGMENDEZGGMENDEZ2 gold badges13 silver badges20 bronze badges 6035 Huy hiệu bạc18 Huy hiệu ĐồngJul 27, 2017 at 8:06
Bạn cũng có thể thử làm điều gì đó như thế này:Mikebarson Ammar7 silver badges22 bronze badges 1 91.0482 Huy hiệu vàng13 Huy hiệu bạc20 Huy hiệu ĐồngJul 26, 2013 at 18:00
0 0Đã trả lời ngày 27 tháng 7 năm 2017 lúc 8:06 1MikebarsonmiKebarson 2
5327 Huy hiệu bạc22 Huy hiệu ĐồngAug 3, 2021 at 18:26
2 Đã trả lời ngày 26 tháng 7 năm 2013 lúc 18:00 3Chúng tôi nhận được chỉ mục của đối tượng có giá trị thuộc tính tên là "Kristian"Apr 5, 2012 at 8:10
Bằng cách sử dụng hàm splice, chúng tôi sẽ xóa đối tượng có giá trị thuộc tính tên là "Kristian"gabitzish Đã trả lời ngày 3 tháng 8 năm 2021 lúc 18:266 gold badges43 silver badges65 bronze badges Sử dụng chức năng splice trên mảng. Chỉ định vị trí của phần tử bắt đầu và độ dài của phần sau bạn muốn xóa. Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:10 4GabitzishgabitzishMar 27, 2013 at 12:29
9.4496 Huy hiệu vàng43 Huy hiệu bạc65 Huy hiệu ĐồngJuliaCesar Bỏ phiếu cho Undercorejs cho công việc đơn giản với các mảng.12 silver badges17 bronze badges 1 hàm _.without () giúp xóa một phần tử:Đã trả lời ngày 27 tháng 3 năm 2013 lúc 12:29 JulaCesarjuliacesar1.01912 Huy hiệu bạc17 Huy hiệu đồng
Giải pháp nhanh nhất/nhanh nhất cho các mảng lớn: CGiải pháp nhanh nhất/nhanh nhất cho các mảng lớn khi phần tử tồn tại: H
Mảng nhỏ (10 phần tử) và phần tử tồn tại - bạn có thể chạy nó ở đây Mảng nhỏ (10 phần tử) và phần tử không tồn tại - bạn có thể chạy nó ở đây Mảng lớn (các yếu tố milion) và yếu tố tồn tại - bạn có thể chạy nó ở đâyJan 27, 2021 at 19:31
Mảng lớn (các yếu tố milion) và yếu tố không tồn tại - bạn có thể chạy nó ở đâyKamil Kiełczewski Dưới đây đoạn trích xuất hiện sự khác biệt giữa các giải pháp a b c d e f g h i26 gold badges338 silver badges315 bronze badges Và đây là những kết quả ví dụ cho Chrome 5Đã trả lời ngày 27 tháng 1 năm 2021 lúc 19:31 6Kamil Kiełczewskikamil KiełczewskiOct 3, 2020 at 21:42
1 76.4K26 Huy hiệu vàng338 Huy hiệu bạc315 Huy hiệu đồng 7Đây là một ví dụ với bản đồ và mối nốiNov 29, 2017 at 14:30
Đầu raSiddhartha Đã trả lời ngày 3 tháng 10 năm 2020 lúc 21:4212 silver badges10 bronze badges Mặc dù điều này có lẽ không phù hợp với tình huống này, tôi đã phát hiện ra vào một ngày khác rằng bạn cũng có thể sử dụng từ khóa 3 để loại bỏ một mục khỏi một mảng nếu bạn không cần thay đổi kích thước của mảng, ví dụ: 8Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:40Apr 5, 2012 at 8:40
Dougajmcdonalddougajmcdonalddougajmcdonald 18,5K11 Huy hiệu vàng53 Huy hiệu bạc89 Huy hiệu đồng11 gold badges53 silver badges89 bronze badges Giải pháp đơn giản nhất sẽ là tạo một bản đồ lưu trữ các chỉ mục cho từng đối tượng theo tên, như thế này: 9Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:12Apr 5, 2012 at 8:12
CREYNDERSCREYNDERSCreynders 4.54319 Huy hiệu bạc21 Huy hiệu đồng19 silver badges21 bronze badges 1 Bạn cũng có thể sử dụng chức năng bản đồ.map function also. 0Đã trả lời ngày 5 tháng 3 năm 2017 lúc 9:48Mar 5, 2017 at 9:48
solanki...solanki...solanki... 4.6022 Huy hiệu vàng24 Huy hiệu bạc29 Huy hiệu đồng2 gold badges24 silver badges29 bronze badges 2 Nếu bạn muốn xóa tất cả các lần xuất hiện của một đối tượng đã cho (dựa trên một số điều kiện) thì hãy sử dụng phương thức mối nối JavaScript bên trong A cho vòng lặp. Vì việc loại bỏ một đối tượng sẽ ảnh hưởng đến độ dài mảng, hãy đảm bảo giảm một bước, để kiểm tra độ dài đó vẫn còn nguyên vẹn. 1Đoạn mã ở trên loại bỏ tất cả các đối tượng có tuổi lớn hơn 20.
Ksugiarto 9301 Huy hiệu vàng19 Huy hiệu bạc38 Huy hiệu đồng1 gold badge19 silver badges38 bronze badges Đã trả lời ngày 15 tháng 6 năm 2018 lúc 20:10Jun 15, 2018 at 20:10
ObaidobaidObaid 2.49515 huy hiệu bạc14 Huy hiệu đồng15 silver badges14 bronze badges Câu trả lời này 2không làm việc cho nhiều hồ sơ đáp ứng điều kiện. Nếu bạn có hai hồ sơ liên tiếp như vậy, chỉ có hồ sơ đầu tiên bị xóa và bản khác đã bỏ qua. Bạn phải sử dụng: 3thay vì .
Shiv Kumar 8961 Huy hiệu vàng9 Huy hiệu bạc 20 Huy hiệu Đồng1 gold badge9 silver badges20 bronze badges Đã trả lời ngày 27 tháng 7 năm 2018 lúc 9:48Jul 27, 2018 at 9:48
JarmopjarmopJarmoP 1812 Huy hiệu bạc3 Huy hiệu đồng2 silver badges3 bronze badges Dường như có một lỗi trong cú pháp mảng của bạn, vì vậy giả sử bạn có nghĩa là một mảng trái ngược với một đối tượng, mảng.splice là bạn của bạn ở đây: 4Đã trả lời ngày 5 tháng 4 năm 2012 lúc 8:13Apr 5, 2012 at 8:13
Khăn quàng cổ SimonSimon Scarfe 9.1504 Huy hiệu vàng27 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges27 silver badges32 bronze badges Bạn cũng có thể sử dụng 4: 5Đã trả lời ngày 6 tháng 7 năm 2017 lúc 18:59Jul 6, 2017 at 18:59
Artur Grigioartur GrigioArtur Grigio 4.8597 Huy hiệu vàng40 Huy hiệu bạc62 Huy hiệu Đồng7 gold badges40 silver badges62 bronze badges Đây là những gì tôi sử dụng. 6Sau đó, nó đơn giản như nói 7Thay thế bất kỳ số nào thay cho ba. Sau khi đầu ra dự kiến là: 8Đã trả lời ngày 5 tháng 4 năm 2018 lúc 0:03Apr 5, 2018 at 0:03
Matthias Smatthias sMatthias S 1851 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges 1 Tôi đoán các câu trả lời rất phân nhánh và thắt nút. Bạn có thể sử dụng đường dẫn sau để xóa một đối tượng mảng phù hợp với đối tượng được đưa ra trong biệt ngữ JavaScript hiện đại. 9Đã trả lời ngày 10 tháng 6 năm 2020 lúc 6:40Jun 10, 2020 at 6:40
Splice (i, 1) trong đó tôi là chỉ số gia tăng của mảng sẽ loại bỏ đối tượng. Nhưng hãy nhớ rằng Splice cũng sẽ đặt lại độ dài mảng, vì vậy hãy coi chừng 'không xác định'. Sử dụng ví dụ của bạn, nếu bạn xóa 'Kristian', thì trong lần thực hiện tiếp theo trong vòng lặp, tôi sẽ là 2 nhưng một số điều sẽ là chiều dài 1, do đó nếu bạn cố gắng xóa "John" bạn sẽ nhận được lỗi "không xác định" . Một giải pháp cho điều này mặc dù không thanh lịch là có bộ đếm riêng để theo dõi chỉ số của phần tử sẽ được gỡ bỏ. Đã trả lời ngày 9 tháng 10 năm 2014 lúc 23:45Oct 9, 2014 at 23:45
MaksoodmaksoodMaksood 1.13014 Huy hiệu bạc19 Huy hiệu đồng14 silver badges19 bronze badges Trả về chỉ các đối tượng từ mảng có tài sản 5 không phải là "Kristian" 0Demo: 1 2Đã trả lời ngày 9 tháng 2 năm 2017 lúc 18:42Feb 9, 2017 at 18:42
LegendslegendsLegends Huy hiệu vàng 19.8K1212 gold badges91 silver badges120 bronze badges Khái niệm này sử dụng Kendo Grid 3Đã trả lời ngày 4 tháng 8 năm 2017 lúc 11:48Aug 4, 2017 at 11:48
Làm thế nào để bạn xóa một đối tượng khỏi một mảng?Có nhiều phương pháp và kỹ thuật khác nhau bạn có thể sử dụng để loại bỏ các phần tử khỏi các mảng JavaScript:.. Pop - Xóa từ cuối một mảng .. SHIFT - Xóa từ đầu một mảng .. Splice - Xóa khỏi một chỉ mục mảng cụ thể .. Bộ lọc - Cho phép bạn lập trình loại bỏ các phần tử khỏi một mảng .. Làm thế nào để bạn loại bỏ một đối tượng khỏi một mảng mảng?Để xóa một đối tượng khỏi một mảng, hãy sử dụng phương thức mảng.pop (). Mảng. Hàm pop () xóa phần tử cuối cùng và trả về phần tử đó.use the array. pop() method. The array. pop() function deletes the last element and returns that element.
Làm thế nào để bạn loại bỏ một phần tử khỏi một mảng trong JavaScript?Các phần tử mảng có thể bị xóa bằng cách sử dụng xóa toán tử JavaScript.Sử dụng xóa các lỗ không xác định trong mảng.Sử dụng pop () hoặc thay đổi () thay thế.using the JavaScript operator delete . Using delete leaves undefined holes in the array. Use pop() or shift() instead.
Làm cách nào để loại bỏ một đối tượng khỏi một mảng bằng ID?Để xóa một phần tử khỏi một mảng bằng ID trong JavaScript, hãy sử dụng phương thức FindIndex () để tìm chỉ mục của đối tượng với ID trong mảng.Sau đó gọi phương thức splice () trên mảng, chuyển chỉ mục này và 1 là đối số để xóa đối tượng khỏi mảng. |