Ta bort objekt från JavaScript-matriser
JavaScript tillhandahåller flera sätt att ta bort objekt från en array. Den bästa metoden beror på om du känner till objektets index eller dess värde.
Tekniker för borttagning
splice(): Tar bort element efter index. Ändrar den ursprungliga arrayen.filter(): Skapar en ny array som endast innehåller element som klarar ett tillhandahållet test. Modifierar inte den ursprungliga arrayen.findIndex()&splice(): Lokaliserar ett objekt efter värde och tar sedan bort det med dess index.
Så här använder du varje metod:
- Med
splice()(efter index):array.splice(index, 1);Tar bort 1 element vid det angivna indexet. - Använda
filter()(efter värde):const newArray = array.filter(item => item.id !== objectToRemove.id);Skapar en ny array som exkluderar objektet med det matchandeid. - Med
findIndex()ochsplice()(efter värde):const index = array.findIndex(item => item.id === objectToRemove.id);if (index > -1) { array.splice(index, 1); } Hittar indexet och tar bort om det hittas.
Metodjämförelse
| Metod | Ändrar originaluppsättningen? | Kräver index? | Prestanda (stora matriser) |
|---|---|---|---|
splice() |
Ja | Ja | Snabb |
filter() |
Nej | Nej | Moderat |
findIndex() & splice() |
Ja | Nej | Långsammare |
Tänk på avvägningarna mellan att ändra den ursprungliga arrayen och skapa en ny när du väljer en metod.
Copyright ©fitinat.pages.dev 2026