


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"} ];
Zielformat:
const erwartungsstist = [ {ID: "202301", Jine1: 87,5, Jine2: 1065.5, Jine3: 23}, {ID: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10} ];
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











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.

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

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

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

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 ...

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

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

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
