Maison interface Web js tutoriel Comment fusionner les objets de tableau avec le même ID par type et allouer des montants en utilisant JavaScript?

Comment fusionner les objets de tableau avec le même ID par type et allouer des montants en utilisant JavaScript?

Apr 04, 2025 pm 03:00 PM
red

Comment fusionner les objets de tableau avec le même ID par type et allouer des montants en utilisant JavaScript?

Cet article décrit comment utiliser JavaScript pour traiter un tableau, fusionner des objets avec le même ID dans un nouvel objet et allouer le montant à différents champs en fonction de différents types (petit-déjeuner, chinois, dîner).

Supposons que nous ayons un tableau d'objets multiples, chacun avec des champs id , jine (montant) et type (type). L'objectif est de convertir ces données en un autre format, où les données correspondant à chaque id sont fusionnées en un seul objet, et jine est attribuée aux champs jine1 (petit-déjeuner), jine2 (nourriture chinoise) et jine3 (dîner) selon type .

Données brutes:

 const list = [
    {id: "202301", Jine: 23, type: "dîner"},
    {id: "202301", Jine: 87.5, Type: "Breakfast"},
    {id: "202301", Jine: 1065.5, type: "nourriture chinoise"},
    {id: "202302", jine: 10, type: "dîner"},
    {id: "202302", Jine: 181,5, type: "petit-déjeuner"},
    {id: "202302", Jine: 633.5, type: "nourriture chinoise"}
]]
Copier après la connexion

Format cible:

 const attenseList = [
    {id: "202301", Jine1: 87.5, Jine2: 1065.5, Jine3: 23},
    {id: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10}
]]
Copier après la connexion

Pour y parvenir, nous pouvons utiliser la méthode reduce pour itérer sur le tableau et créer un nouvel objet pour stocker les résultats.

Solution:

 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 === 'petit-déjeuner') acc [curr.id] .jine1 = curr.jine;
    if (curr.type === 'food chinois') acc [curr.id] .jine2 = curr.jine;
    if (curr.type === 'dîner') acc [curr.id] .jine3 = curr.jine;
    Retour ACC;
}, {}));

console.log (résultat); // Tableau de sortie au format cible
Copier après la connexion

Ce code utilise d'abord la méthode reduce pour convertir le tableau d'origine en un objet, la clé est id et la valeur est un objet contenant jine1 , jine2 et jine3 . Utilisez ensuite la méthode Object.values ​​pour convertir l'objet en un tableau. Dans la méthode reduce , nous vérifions si l' id actuel existe dans acc , s'il n'existe pas, créons un nouvel objet et attribuez jine au champ correspondant en fonction type .

Cette méthode évite l'utilisation de Object.groupBy et find des méthodes, améliore la lisibilité et l'efficacité du code, et gère plus directement la fusion des données et l'allocation du montant. Il est également plus robuste car il n'est pas nécessaire de traiter les cas où find peut retourner undefined .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Dead Rails - Comment apprivoiser les loups
3 Il y a quelques semaines By DDD
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1655
14
Tutoriel PHP
1252
29
Tutoriel C#
1226
24
Comment configurer le temps d'exécution du script LUA dans Centos Redis Comment configurer le temps d'exécution du script LUA dans Centos Redis Apr 14, 2025 pm 02:12 PM

Sur CentOS Systems, vous pouvez limiter le temps d'exécution des scripts LUA en modifiant les fichiers de configuration Redis ou en utilisant des commandes Redis pour empêcher les scripts malveillants de consommer trop de ressources. Méthode 1: Modifiez le fichier de configuration Redis et localisez le fichier de configuration Redis: le fichier de configuration redis est généralement situé dans /etc/redis/redis.conf. Edit Fichier de configuration: Ouvrez le fichier de configuration à l'aide d'un éditeur de texte (tel que VI ou NANO): Sudovi / etc / redis / redis.conf Définissez le délai d'exécution du script LUA: Ajouter ou modifier les lignes suivantes dans le fichier de configuration pour définir le temps d'exécution maximal du script LUA (unité: millisecondes)

Quelles étapes sont nécessaires pour configurer CentOS dans HDFS Quelles étapes sont nécessaires pour configurer CentOS dans HDFS Apr 14, 2025 pm 06:42 PM

La construction d'un système de fichiers distribué Hadoop (HDFS) sur un système CENTOS nécessite plusieurs étapes. Cet article fournit un bref guide de configuration. 1. Préparez-vous à installer JDK à la première étape: installez JavadeEvelopmentKit (JDK) sur tous les nœuds, et la version doit être compatible avec Hadoop. Le package d'installation peut être téléchargé à partir du site officiel d'Oracle. Configuration des variables d'environnement: Edit / etc / Profile File, définissez les variables d'environnement Java et Hadoop, afin que le système puisse trouver le chemin d'installation de JDK et Hadoop. 2. Configuration de sécurité: Connexion sans mot de passe SSH pour générer une clé SSH: Utilisez la commande SSH-Keygen sur chaque nœud

Comment Debian améliore la vitesse de traitement des données Hadoop Comment Debian améliore la vitesse de traitement des données Hadoop Apr 13, 2025 am 11:54 AM

Cet article examine comment améliorer l'efficacité du traitement des données Hadoop sur les systèmes Debian. Les stratégies d'optimisation couvrent les mises à niveau matérielle, les ajustements des paramètres du système d'exploitation, les modifications de configuration de Hadoop et l'utilisation d'algorithmes et d'outils efficaces. 1. Le renforcement des ressources matérielles garantit que tous les nœuds ont des configurations matérielles cohérentes, en particulier en faisant attention aux performances du CPU, de la mémoire et de l'équipement réseau. Le choix des composants matériels de haute performance est essentiel pour améliorer la vitesse de traitement globale. 2. Réglage des paramètres JVM: Ajustez dans le fichier hadoop-env.sh

Utilisation de dicr / yii2-google pour intégrer l'API Google dans yii2 Utilisation de dicr / yii2-google pour intégrer l'API Google dans yii2 Apr 18, 2025 am 11:54 AM

VProCSERAZRABOTKIVEB-ENCLOSED, мне démar Leavally umballancefriabancefaumdoptomatification, čtookazalovnetakprosto, kakaožidal.posennesko

Comment configurer lent des requêtes de connexion Centos redis Comment configurer lent des requêtes de connexion Centos redis Apr 14, 2025 pm 04:54 PM

Activez les journaux de requête lents redis sur le système CentOS pour améliorer l'efficacité du diagnostic des performances. Les étapes suivantes vous guideront à travers la configuration: Étape 1: Localisez et modifiez d'abord le fichier de configuration Redis, recherchez le fichier de configuration Redis, généralement situé dans /etc/redis/redis.conf. Ouvrez le fichier de configuration avec la commande suivante: sudovi / etc / redis / redis.conf Étape 2: Ajustez les paramètres de journal de requête lente dans le fichier de configuration, recherchez et modifiez les paramètres suivants: #Slow Query Seuil (MS) Slowlog-Log-slower-Len

Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Comment utiliser la solution Redis Cache pour réaliser efficacement les exigences de la liste de classement des produits? Apr 19, 2025 pm 11:36 PM

Comment la solution de mise en cache Redis réalise-t-elle les exigences de la liste de classement des produits? Pendant le processus de développement, nous devons souvent faire face aux exigences des classements, comme l'affichage d'un ...

De quels fichiers avez-vous besoin de modifier dans les centos de configuration HDFS? De quels fichiers avez-vous besoin de modifier dans les centos de configuration HDFS? Apr 14, 2025 pm 07:27 PM

Lors de la configuration du système de fichiers distribué HADOOP (HDFS) sur CentOS, les fichiers de configuration de clé suivants doivent être modifiés: core-site.xml: fs.defaultfs: spécifie l'adresse du système de fichiers par défaut de HDFS, tel que hdfs: // localhost: 9000. hadoop.tmp.dir: spécifie le répertoire de stockage pour les fichiers temporaires Hadoop. hadoop.proxyuser.root.hosts et hadoop.proxyuser.ro

Conseils pour utiliser le système de fichiers HDFS sur CentOS Conseils pour utiliser le système de fichiers HDFS sur CentOS Apr 14, 2025 pm 07:30 PM

Le guide d'installation, de configuration et d'optimisation pour le système de fichiers HDFS dans le cadre du système CentOS Cet article vous guidera comment installer, configurer et optimiser le système de fichiers distribué Hadoop (HDFS) sur le système CentOS. Installation HDFS et configuration Installation de l'environnement Java: Assurez-vous d'abord que l'environnement Java approprié est installé. Edit / etc / Profile Fichier, ajoutez les suivants et remplacez /usr/lib/java-1.8.0/jdk1.8.0_144 par votre chemin d'installation Java réel: exportjava_home = / usr / lib / java-1.8.0 / jdk1.8.0_144exportpath = $ J

See all articles