entfernen Sie den Gegenstand aus dem array mit nur die Objekt-Referenz
Angenommen ich habe ein array von Objekten, die auch als MyArray
und dass eine bestimmte Funktion gibt eine Referenz für ein bestimmtes element innerhalb des Arrays; so etwas wie dieses:
MyArray = [Object1, Object2, ..., Objectn];
function DoWork() {
var TheObject = GetTheObject(SomeParamter);
}
Zu diesem Zeitpunkt TheObject
Punkte zu einem bestimmten element im array. Angenommen, ich möchte das entfernen dieses Elementes aus MyArray
ist das möglich, ohne dass reloop durch das array, um den index des Elements?
Ich bin auf der Suche nach so etwas wie splice-das würde die Arbeit mit der Referenz auf das element, anstatt den index des Elements.
- mögliche Duplikate von: stackoverflow.com/questions/3396088/...
- Schreiben
TheObject = null
wird nicht klar, das Objekt aus dem array. Sie haben es falsch. - arr.splice(arr.indexOf(obj), 1);
- Wenn ein Objekt entfernt werden soll, bilden ein array, es gibt keinen Weg, um Sie oder den Motor Schleifen über die Arrays. Was Sie denken, ist das hinzufügen eines optionalen parameter
GetTheObject
entfernt werden, wenntrue
oder halten, wennfalse
. - du hast es
- Nein, es ist nicht ein Duplikat an alle, es geht darum, mit Spleiß, wenn Sie NICHT über den index
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einfach
Array.der Prototyp.indexOf
:Beachten Sie, dass, wenn targeting IE < 9 Notwendigkeit der Einführung eines polyfill für
indexOf
; Sie finden ein in der MDN-Seite.