Objekte aus einem Array in JavaScript suchen

Sahil Bhosale 12 Oktober 2023
  1. Suchen von Objekten in einem Array mit forEach() in JavaScript
  2. Suchen von Objekten in einem Array mit der Methode find() in JavaScript
Objekte aus einem Array in JavaScript suchen

In JavaScript ist das Arbeiten mit und das Speichern von Daten in einer Array-Datenstruktur weit verbreitet. Eine Array-Datenstruktur kann verschiedene Arten annehmen, z. B. Zahlen, Zeichenketten, ein anderes Array als Element oder Objekte. In diesem Artikel besprechen wir, wie Objekte in einem Array und verschiedene Werte in jedem einzelnen Objekt gesucht werden.

Hier haben wir ein Array von Objekten mit dem Namen arrayofObjects. In jedem Objekt gibt es verschiedene Werte, die durch ein Schlüssel-Wert-Paar dargestellt werden. Es gibt 3 Schlüssel-Wert-Paare. Die Schlüssel sind name, profession und company. Mit diesen Schlüsseln können wir auf die jeweiligen Werte jedes einzelnen Objekts zugreifen.

var arrayofObjects = [
  {name: 'Adam', profession: 'Engineer', company: 'Google'},
  {name: 'Sam', profession: 'Manager', company: 'Amazon'},
  {name: 'Gerogia', profession: 'Designer', company: 'Netflix'},
  {name: 'Kate', profession: 'Engineer', company: 'Microscoft'},
  {name: 'James', profession: 'Sales', company: 'Amazon'},
];

Ein Array wird durch eckige Klammern [] dargestellt, während die Objekte durch geschweifte Klammern {} dargestellt werden.

Es gibt nur wenige Möglichkeiten, um Objekte in einem Array zu finden. Einige der Möglichkeiten werden unten gezeigt.

Suchen von Objekten in einem Array mit forEach() in JavaScript

Die traditionelle Methode zum Auffinden von Objekten in einem Array ist die Verwendung einer forEach()-Schleife. Damit können wir jedes Element innerhalb der for a-Schleife durchlaufen.

Zuerst greifen wir mit forEach() aus dem Array auf die gesamten Objekte zu. Später werden wir sehen, wie Sie auf einzelne Werte zugreifen, die innerhalb des Objekts vorhanden sind. Um das gesamte Objekt aus dem obigen Array zu drucken, können Sie eine forEach()-Schleife verwenden. Diese Schleife liefert uns zwei Dinge: das Element selbst aus dem Array und den Index des Elements. Dazu müssen wir zwei Parameter an forEach() übergeben. In diesem Fall benötigen wir nur die Elemente und nicht den Index, also übergeben wir einen Parameter, object. Sie können diesem Parameter einen beliebigen Namen geben.

// print name of the people who work at amazon
arrayofObjects.forEach(object => {
  console.log(object);
});

Da die forEach()-Schleife jedes Element durchläuft, wird dieses Element in dieser Objekt-Variable gespeichert. Jetzt enthält die Variable object das gesamte Objekt aus dem Array. Wenn Sie diese Variable object über die Konsole drucken, werden alle im Array vorhandenen Objekte gedruckt.

Ausgabe:

Object { name: "Adam", profession: "Engineer", company: "Google" }
Object { name: "Sam", profession: "Manager", company: "Amazon" }
Object { name: "Gerogia", profession: "Designer", company: "Netflix" }
Object { name: "Kate", profession: "Engineer", company: "Microsoft" }
Object { name: "James", profession: "Sales", company: "Amazon" }

Wir haben jedes Objekt aus dem Array; Lassen Sie uns von diesen Objekten aus auf innere Werte zugreifen. Lassen Sie uns jetzt die Namen der Mitarbeiter drucken, die bei der Firma Amazon arbeiten. Um auf einen beliebigen Schlüssel aus dem Objekt zuzugreifen, können wir einen Punkt nach der Variable object verwenden und den Schlüssel angeben. Um beispielsweise auf den Firmenschlüssel zuzugreifen, verwenden wir object.company.

// print name of the people who work at amazon
arrayofObjects.forEach(object => {
  if (object.company === 'Amazon') {
    console.log('Amazon Employee:', object.name);
  }
});

Mit einer if-Anweisung vergleichen wir den Wert des Schlüssels mit der Zeichenkette Amazon und geben bei Übereinstimmung in die if-Anweisung ein. Danach drucken wir die Namen der Mitarbeiter, die bei Amazon arbeiten, mit object.name wie oben gezeigt aus. Dadurch erhalten wir die folgende Ausgabe.

Ausgabe:

Amazon Employee: Sam
Amazon Employee: James

Da bei Amazon nur zwei Leute arbeiten, bekommen wir Sam und James als Ausgabe.

In ähnlicher Weise können wir alle Werte von allen Objekten mit den Tasten name, profession und company unten ausdrucken.

// print every details of a person
arrayofObjects.forEach(object => {
  console.log(
      object.name + ' is ' + object.profession + ' who works at ' +
      object.company);
});

Ausgabe:

Adam is Engineer who works at Google
Sam is Manager who works at Amazon
Georgia is a Designer who works at Netflix
Kate is Engineer who works at Microsoft
James is Sales who works at Amazon

Suchen von Objekten in einem Array mit der Methode find() in JavaScript

Die Methode find() ist eine alternative Methode, um Objekte und ihre Elemente aus einem Array in JavaScript zu finden. find() ist eine ES6-Methode. Diese Methode funktioniert ähnlich wie die forEach()-Schleife, und der Zugriff auf die Elemente innerhalb des Objekts ähnelt dem, was wir zuvor gesehen haben.

Ersetzen Sie in Ihrem Code forEach durch find, und Sie können loslegen. Der folgende Code gibt auch jedes Objekt aus dem Array aus.

arrayofObjects.find(object => {
  console.log(object);
});

Ausgabe:

Object { name: "Adam", profession: "Engineer", company: "Google" }
Object { name: "Sam", profession: "Manager", company: "Amazon" }
Object { name: "Gerogia", profession: "Designer", company: "Netflix" }
Object { name: "Kate", profession: "Engineer", company: "Microsoft" }
Object { name: "James", profession: "Sales", company: "Amazon" }

Ebenso können wir auf jeden Wert des Objekts aus dem Array mit den entsprechenden Schlüsseln wie folgt zugreifen.

arrayofObjects.find(object => {
  console.log(
      object.name + ' is ' + object.profession + ' who works at ' +
      object.company);
});

Ausgabe:

Adam is Engineer who works at Google
Sam is Manager who works at Amazon
Georgia is Designer who works at Netflix
Kate is Engineer who works at Microsoft
James is Sales who works at Amazon
Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Verwandter Artikel - JavaScript Object

Verwandter Artikel - JavaScript Array