Objekt aus dem Array entfernen, dessen ID bekannt ist [duplicate]

Lesezeit: 1 Minute

Benutzer-Avatar
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?

  • 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

Benutzer-Avatar
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);

JSFIDDLE

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);

DEMO

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);

Benutzer-Avatar
David Faure

kannst du es versuchen

newArray = myArr
  .filter(function(element) {
    return element.id !== thisId;
  });

1054990cookie-checkObjekt aus dem Array entfernen, dessen ID bekannt ist [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy