


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"} ]]
Format cible:
const attenseList = [ {id: "202301", Jine1: 87.5, Jine2: 1065.5, Jine3: 23}, {id: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10} ]]
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
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds











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)

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

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

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

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

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

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
