Ich habe ein Array von Objekten:
var myArr;
Nehmen wir an, dass es beim Laden der Seite 10 Objekte mit der folgenden Struktur enthält:
{
Id: …,
Name: …
}
Wie kann ich ein Objekt aus entfernen myArr
durch seine Id
?
Benutzer1765862
Ich habe ein Array von Objekten:
var myArr;
Nehmen wir an, dass es beim Laden der Seite 10 Objekte mit der folgenden Struktur enthält:
{
Id: …,
Name: …
}
Wie kann ich ein Objekt aus entfernen myArr
durch seine Id
?
Anik Islam Abhi
Versuchen Sie es so
var id = 2;
var list = [{
Id: 1,
Name: 'a'
}, {
Id: 2,
Name: 'b'
}, {
Id: 3,
Name: 'c'
}];
var index = list.map(x => {
return x.Id;
}).indexOf(id);
list.splice(index, 1);
console.log(list);
Oder Sie können verwenden .Filter()
So was
var id = 2;
var list = [{
Id: 1,
Name: 'a'
}, {
Id: 2,
Name: 'b'
}, {
Id: 3,
Name: 'c'
}];
var lists = list.filter(x => {
return x.Id != id;
})
console.log(lists);
Zwei Lösungen, eine entwickelt sich zum Erstellen einer neuen Instanz und eine ändert die Instanz Ihres Arrays.
Filter:
idToRemove = DESIRED_ID;
myArr = myArr.filter(function(item) {
return item.Id != idToRemove;
});
Wie Sie sehen, ist die filter
-Methode gibt eine neue Instanz des gefilterten Arrays zurück.
Die zweite Möglichkeit besteht darin, den Index des Elements zu finden und es dann mit zu entfernen splice
:
idToRemove = DESIRED_ID;
index = myArr.map(function(item) {
return item.Id
}).indexOf(idToRemove);
myArr.splice(index, 1);
David Faure
kannst du es versuchen
newArray = myArr
.filter(function(element) {
return element.id !== thisId;
});
Suchen Sie den Index des Objekts mit dieser ID in Ihrem Array und entfernen Sie ihn aus dem Array
– juvian
17. Dezember 2015 um 14:11 Uhr