Inhaltsverzeichnis
Sorting Numbers in Ascending Order
Sorting Strings Alphabetically
Handling Mixed or Complex Data Types
Heim Web-Frontend js-Tutorial Wie sortiere ich eine Reihe von Objekten nach einem Eigenschaftswert?

Wie sortiere ich eine Reihe von Objekten nach einem Eigenschaftswert?

Jul 02, 2025 am 01:08 AM
Array Objektsortierung

在JavaScript中,可以通过提供一个比较函数使用.sort()方法按属性值排序对象数组。对于数值属性的升序排列,用a.age - b.age;降序则用b.age - a.age;字符串属性排序需使用localeCompare()方法,并可调整大小写敏感性;处理混合或复杂数据类型时应规范化值、妥善处理undefined或null,并可借助辅助函数,例如通过getOrderValue返回标准化排序值进行计算,从而实现数组按特定属性正确排序。

How to sort an array of objects by a property value?

You can sort an array of objects by a property value in JavaScript using the .sort() method. The trick is to provide a comparison function that tells JavaScript how to compare two objects based on the desired property.


Sorting Numbers in Ascending Order

To sort an array of objects by a numeric property, like age, you can subtract one value from the other in the comparator function:

const people = [
  { name: 'Alice', age: 30 },
  { name: 'Bob', age: 25 },
  { name: 'Charlie', age: 35 }
];

people.sort((a, b) => a.age - b.age);

This will sort the array so the person with the lowest age comes first.
If you want descending order instead, just flip the subtraction: b.age - a.age.


Sorting Strings Alphabetically

When sorting by string properties like name, you need to use comparison logic suitable for strings — usually with localeCompare():

const people = [
  { name: 'Zoe', age: 28 },
  { name: 'John', age: 32 },
  { name: 'Anna', age: 25 }
];

people.sort((a, b) => a.name.localeCompare(b.name));
  • localeCompare() handles alphabetical ordering correctly, including case sensitivity and special characters.
  • If you don’t care about case, you might normalize the strings before comparing:
    a.name.toLowerCase().localeCompare(b.name.toLowerCase())

Handling Mixed or Complex Data Types

Sometimes the values you're comparing may not be straightforward — maybe some are numbers, some are strings, or even nested values.

In those cases, it’s good practice to:

  • Normalize values before comparison
  • Handle undefined or null values gracefully
  • Use a helper function inside .sort() if needed

Example:

const items = [
  { label: 'Item C', order: 'last' },
  { label: 'Item A', order: 1 },
  { label: 'Item B', order: 3 }
];

const getOrderValue = (item) => {
  if (typeof item.order === 'number') return item.order;
  if (item.order === 'last') return Infinity;
  return 0;
};

items.sort((a, b) => getOrderValue(a) - getOrderValue(b));

This helps when your data isn't consistent across all objects.


Sorting arrays of objects by a property doesn’t have to be tricky — once you know how to use .sort() with a custom comparator, you can handle most common scenarios pretty easily. Just remember to adjust your comparison logic depending on whether you're working with numbers, strings, or mixed data types.

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Reihe von Objekten nach einem Eigenschaftswert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1528
276
Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen May 01, 2024 pm 12:30 PM

Zu den Methoden zum tiefen Kopieren von Arrays in PHP gehören: JSON-Kodierung und -Dekodierung mit json_decode und json_encode. Verwenden Sie array_map und clone, um tiefe Kopien von Schlüsseln und Werten zu erstellen. Verwenden Sie Serialize und Deserialize für die Serialisierung und Deserialisierung.

PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden PHP-Array-Schlüsselwertumdrehen: Vergleichende Leistungsanalyse verschiedener Methoden May 03, 2024 pm 09:03 PM

Der Leistungsvergleich der PHP-Methoden zum Umdrehen von Array-Schlüsselwerten zeigt, dass die Funktion array_flip() in großen Arrays (mehr als 1 Million Elemente) eine bessere Leistung als die for-Schleife erbringt und weniger Zeit benötigt. Die for-Schleifenmethode zum manuellen Umdrehen von Schlüsselwerten dauert relativ lange.

Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Best Practices für Deep Copying von PHP-Arrays: Entdecken Sie effiziente Methoden Apr 30, 2024 pm 03:42 PM

Die beste Vorgehensweise zum Durchführen einer Array-Deep-Kopie in PHP besteht darin, json_decode(json_encode($arr)) zu verwenden, um das Array in einen JSON-String zu konvertieren und ihn dann wieder in ein Array umzuwandeln. Verwenden Sie unserialize(serialize($arr)), um das Array in eine Zeichenfolge zu serialisieren und es dann in ein neues Array zu deserialisieren. Verwenden Sie den RecursiveIteratorIterator, um mehrdimensionale Arrays rekursiv zu durchlaufen.

Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung Anwendung der PHP-Array-Gruppierungsfunktion bei der Datensortierung May 04, 2024 pm 01:03 PM

Die PHP-Funktion array_group_by kann Elemente in einem Array basierend auf Schlüsseln oder Abschlussfunktionen gruppieren und ein assoziatives Array zurückgeben, wobei der Schlüssel der Gruppenname und der Wert ein Array von Elementen ist, die zur Gruppe gehören.

Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente Die Rolle der PHP-Array-Gruppierungsfunktion beim Auffinden doppelter Elemente May 05, 2024 am 09:21 AM

Mit der Funktion array_group() von PHP kann ein Array nach einem angegebenen Schlüssel gruppiert werden, um doppelte Elemente zu finden. Diese Funktion durchläuft die folgenden Schritte: Verwenden Sie key_callback, um den Gruppierungsschlüssel anzugeben. Verwenden Sie optional value_callback, um Gruppierungswerte zu bestimmen. Zählen Sie gruppierte Elemente und identifizieren Sie Duplikate. Daher ist die Funktion array_group() sehr nützlich, um doppelte Elemente zu finden und zu verarbeiten.

Können Arrays als Funktionsparameter verwendet werden? Können Arrays als Funktionsparameter verwendet werden? Jun 04, 2024 pm 04:30 PM

Ja, in vielen Programmiersprachen können Arrays als Funktionsparameter verwendet werden und die Funktion führt Operationen an den darin gespeicherten Daten aus. Beispielsweise kann die printArray-Funktion in C++ die Elemente in einem Array drucken, während die printArray-Funktion in Python ein Array durchlaufen und seine Elemente drucken kann. Durch diese Funktionen am Array vorgenommene Änderungen werden auch im ursprünglichen Array der aufrufenden Funktion widergespiegelt.

Wie sortiere ich Array-Schlüssel nach ihrer Länge in PHP und behalte die Schlüssel? Wie sortiere ich Array-Schlüssel nach ihrer Länge in PHP und behalte die Schlüssel? May 02, 2024 pm 01:03 PM

Durch die Funktion uksort() und die benutzerdefinierte Vergleichsfunktion CompareKeyLengths können PHP-Arrays nach der Länge der Array-Schlüsselnamen sortiert werden, während die Schlüsselnamen beibehalten werden. Die Vergleichsfunktion berechnet die Differenz der Schlüssellängen und gibt eine Ganzzahl zurück, und uksort() sortiert das Array nach dieser Ganzzahl. Darüber hinaus wird an einem praktischen Fall gezeigt, wie Datensätze aus der Datenbank nach der Länge des Feldnamens sortiert werden.

Berechnen Sie Array-Schnittpunkt und -Vereinigung effizient mithilfe von PHP-Sammlungsklassen Berechnen Sie Array-Schnittpunkt und -Vereinigung effizient mithilfe von PHP-Sammlungsklassen May 01, 2024 pm 09:06 PM

Der Schnittpunkt und die Vereinigung von Arrays können mit der PHP-Sammlungsklasse effizient berechnet werden. Die spezifischen Schritte sind wie folgt: Verwenden Sie die Methode intersect(), um den Schnittpunkt zu berechnen: Elemente, die gleichzeitig in zwei Arrays erscheinen. Verwenden Sie die Methode union(), um die Vereinigung zu berechnen: die Elemente, die in einem beliebigen Array erscheinen. Praktischer Fall: Vergleichen Sie den Warenkorbinhalt, um die sich überschneidenden Produkte und einzigartigen Produkte der Benutzer zu verstehen.

See all articles