Heim Web-Frontend js-Tutorial Wie fusioniere ich Array -Objekte mit derselben ID nach Typ und zuweisen Beträge mit JavaScript?

Wie fusioniere ich Array -Objekte mit derselben ID nach Typ und zuweisen Beträge mit JavaScript?

Apr 04, 2025 pm 03:00 PM
red

Wie fusioniere ich Array -Objekte mit derselben ID nach Typ und zuweisen Beträge mit JavaScript?

In diesem Artikel wird beschrieben, wie JavaScript verwendet wird, um ein Array zu verarbeiten, Objekte mit derselben ID in ein neues Objekt zusammenzuführen und den Betrag unterschiedlicher Felder nach verschiedenen Typen zuzuordnen (Frühstück, Chinesisch, Abendessen).

Angenommen, wir haben eine Reihe mehrerer Objekte mit id , jine (Betrag) und type (Typ). Ziel ist es, diese Daten in ein anderes Format umzuwandeln, wobei die Daten, die jeder id entsprechen, in ein type zusammengeführt werden und jine -Wert jine1 (Frühstück), jine2 (chinesisches Essen) und jine3 (Abendessen) zugewiesen wird.

Rohdaten:

 const list = [
    {ID: "202301", Jine: 23, Typ: "Dinner"},
    {ID: "202301", Jine: 87.5, Typ: "Frühstück"},
    {ID: "202301", Jine: 1065,5, Typ: "Chinesische Lebensmittel"},
    {ID: "202302", Jine: 10, Typ: "Dinner"},
    {id: "202302", Jine: 181.5, Typ: "Frühstück"},
    {ID: "202302", Jine: 633,5, Typ: "Chinese Food"}
];
Nach dem Login kopieren

Zielformat:

 const erwartungsstist = [
    {ID: "202301", Jine1: 87,5, Jine2: 1065.5, Jine3: 23},
    {ID: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10}
];
Nach dem Login kopieren

Um dies zu erreichen, können wir die reduce der Verringerung über das Array verwenden und ein neues Objekt erstellen, um die Ergebnisse zu speichern.

Lösung:

 const result = Object.Values ​​(list.Reduce ((ACC, Curr) => {
    if (! Acc [Curr.id]) {
        Acc [Curr.id] = {id: curr.id, jine1: 0, jine2: 0, jine3: 0};
    }
    if (Curr.Type === 'Frühstück') ACC [Curr.id] .Jine1 = Curr.jine;
    if (Curr.Type === 'chinesischer Lebensmittel') ACC [Curr.id] .Jine2 = Curr.jine;
    if (Curr.Type === 'Dinner') ACC [Curr.id] .Jine3 = Curr.jine;
    Rückgabe ACC;
}, {}));

console.log (Ergebnis); // Ausgabearray im Zielformat ausgeben
Nach dem Login kopieren

Dieser Code verwendet zunächst die reduce der Reduzierung des Originalarrays in ein Objekt, der Schlüssel ist id und der Wert ist ein Objekt, das jine1 , jine2 und jine3 enthält. Verwenden Sie dann die Methode von Object.values , um das Objekt in ein Array umzuwandeln. Bei der reduce der Reduzierung der Reduzierung überprüfen wir, ob die aktuelle id in acc vorhanden ist, wenn sie nicht vorhanden ist, ein neues Objekt erstellen und dem entsprechenden Feld jine -Wert gemäß type zuweisen.

Diese Methode vermeidet die Verwendung von Object.groupBy und find Methoden, verbessert die Lesbarkeit und Effizienz des Codes und verarbeitet die Verschmelzung und die Menge der Menge direkter. Es ist auch robuster, da keine Fälle vorhanden sind, in denen find -Methode undefined zurückkehren kann.

Das obige ist der detaillierte Inhalt vonWie fusioniere ich Array -Objekte mit derselben ID nach Typ und zuweisen Beträge mit JavaScript?. 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

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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

Java-Tutorial
1662
14
PHP-Tutorial
1261
29
C#-Tutorial
1234
24
So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis Apr 14, 2025 pm 02:12 PM

Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

Wie Debian die Hadoop -Datenverarbeitungsgeschwindigkeit verbessert Wie Debian die Hadoop -Datenverarbeitungsgeschwindigkeit verbessert Apr 13, 2025 am 11:54 AM

In diesem Artikel wird erläutert, wie die Effizienz der Hadoop -Datenverarbeitung auf Debian -Systemen verbessert werden kann. Optimierungsstrategien decken Hardware -Upgrades, Parameteranpassungen des Betriebssystems, Änderungen der Hadoop -Konfiguration und die Verwendung effizienter Algorithmen und Tools ab. 1. Hardware -Ressourcenverstärkung stellt sicher, dass alle Knoten konsistente Hardwarekonfigurationen aufweisen, insbesondere die Aufmerksamkeit auf die Leistung von CPU-, Speicher- und Netzwerkgeräten. Die Auswahl von Hochleistungs-Hardwarekomponenten ist wichtig, um die Gesamtverarbeitungsgeschwindigkeit zu verbessern. 2. Betriebssystem -Tunes -Dateideskriptoren und Netzwerkverbindungen: Ändern Sie die Datei /etc/security/limits.conf, um die Obergrenze der Dateideskriptoren und Netzwerkverbindungen zu erhöhen, die gleichzeitig vom System geöffnet werden dürfen. JVM-Parameteranpassung: Einstellen in der Hadoop-env.sh-Datei einstellen

Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Welche Schritte sind erforderlich, um CentOs in HDFs zu konfigurieren Apr 14, 2025 pm 06:42 PM

Das Erstellen eines Hadoop -verteilten Dateisystems (HDFS) auf einem CentOS -System erfordert mehrere Schritte. Dieser Artikel enthält einen kurzen Konfigurationshandbuch. 1. Bereiten Sie sich auf die Installation von JDK in der frühen Stufe vor: Installieren Sie JavadevelopmentKit (JDK) auf allen Knoten, und die Version muss mit Hadoop kompatibel sein. Das Installationspaket kann von der offiziellen Oracle -Website heruntergeladen werden. Konfiguration der Umgebungsvariablen: Bearbeiten /etc /Profildatei, setzen Sie Java- und Hadoop -Umgebungsvariablen, damit das System den Installationspfad von JDK und Hadoop ermittelt. 2. Sicherheitskonfiguration: SSH-Kennwortfreie Anmeldung zum Generieren von SSH-Schlüssel: Verwenden Sie den Befehl ssh-keygen auf jedem Knoten

Verwenden von DICR/YII2-Google zur Integration von Google API in YII2 Verwenden von DICR/YII2-Google zur Integration von Google API in YII2 Apr 18, 2025 am 11:54 AM

VPROCESSERAZRABOTKIVEB-ENTLEGEN, мненеришшшо & лносsprechen, LeavallySumballanceFriablanceFaumdoptomatification, čtookazalovnetakprosto, Kakaožidal.Posenesko

Wie verwendet ich die Redis -Cache -Lösung, um die Anforderungen der Produktranking -Liste effizient zu erkennen? Wie verwendet ich die Redis -Cache -Lösung, um die Anforderungen der Produktranking -Liste effizient zu erkennen? Apr 19, 2025 pm 11:36 PM

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...

So konfigurieren Sie langsame Abfragebogin in CentOS Redis So konfigurieren Sie langsame Abfragebogin in CentOS Redis Apr 14, 2025 pm 04:54 PM

Aktivieren Sie Redis langsame Abfrageprotokolle im CentOS -System, um die Leistungsdiagnoseeffizienz zu verbessern. In den folgenden Schritten führen Sie die Konfiguration durch: Schritt 1: Suchen und bearbeiten Sie die Redis -Konfigurationsdatei zuerst und suchen Sie die Redis -Konfigurationsdatei, die sich normalerweise in /etc/redis/redis.conf befindet. Öffnen Sie die Konfigurationsdatei mit dem folgenden Befehl: Sudovi/etc/redis/redis.conf Schritt 2: Passen Sie die Langsame-Abfrage-Protokollparameter in der Konfigurationsdatei an, suchen Sie die folgenden Parameter: #Slow Query-Schwellenwert (MS) Slow-Log-Slow-Than10000 #Maximum der Einträge für langsame Query-Log-Logog-Logog-Len-Len-Len

Was tun, wenn der Redis -Cache im Spring -Boot fehlschlägt? Was tun, wenn der Redis -Cache im Spring -Boot fehlschlägt? Apr 19, 2025 pm 08:03 PM

Verwenden Sie im Springboot Redis, um das OAuth2Authorization -Objekt zu speichern. Verwenden Sie in der Springboot -Anwendung SpringSecurityoAuth2AuthorizationServer ...

So lösen Sie den Fehler in der CentOS -HDFS -Konfiguration So lösen Sie den Fehler in der CentOS -HDFS -Konfiguration Apr 14, 2025 pm 07:06 PM

Fehlerbehebung bei HDFS -Konfigurationsfehlern unter CentOS -Systemen Dieser Artikel soll Ihnen helfen, die Probleme bei der Konfiguration von HDFs in CentOS -Systemen zu lösen. Bitte befolgen Sie die folgenden Schritte zur Fehlerbehebung: Java -Umgebungsüberprüfung: Bestätigen Sie, dass die Variable der java_home -Umgebungsvariable korrekt festgelegt wird. Fügen Sie Folgendes in der Datei/etc/profil oder ~/.bashrc hinzu: exportjava_home =/path/to/your/javaexportpath = $ java_home/bin: $ pathexecutequelle/etc/Profil oder Quelle ~/.bashrc, damit die Konfiguration wirksam wird. Hadoop

See all articles