


Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript?
Élément de tableau JavaScript Fusion: fusion des éléments avec le même ID dans un seul objet
Dans le traitement des données, il est souvent nécessaire de fusionner des éléments de tableau avec le même ID dans un seul objet. Cet article fournit une solution JavaScript pour convertir des éléments de tableau avec le même ID mais différents attributs en un nouveau format de tableau.
Format de données d'origine:
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 de données cible:
const cibleList = [ {id: "202301", Jine1: 87.5, Jine2: 1065.5, Jine3: 23}, {id: "202302", Jine1: 181.5, Jine2: 633.5, Jine3: 10} ]]
Solution:
Nous utiliserons la méthode reduce
pour implémenter la conversion de données. Cette méthode itère sur le tableau et accumule chaque élément dans un objet résultat.
const result = object.values (list.reduce ((acc, curr) => { const {id, jine, type} = curr; if (! ACC [id]) { Acc [id] = {id}; } commutateur (type) { Case «petit-déjeuner»: acc [id] .jine1 = jine; casser; Cas «nourriture chinoise»: acc [id] .jine2 = jine; casser; Case «dîner»: acc [id] .jine3 = jine; casser; } Retour ACC; }, {})); console.log (résultat); // Format de données cible de sortie
Explication du code:
-
reduce
la méthode: la méthodereduce
itère surlist
et accumule chaque élément dans un objetacc
. -
acc[id]
: Utilisezid
comme clé pour stocker les données dansacc
. Siid
n'existe pas, un nouvel objet est créé. - Instruction
switch
: attribuez la valeurjine
àjine1
,jine2
oujine3
en fonction de la valeur detype
. -
Object.values
: Enfin, utilisez la méthodeObject.values
pour convertir l'objetacc
en un tableau pour obtenir le format de données cible.
Cette méthode est claire et concise, en évitant l'utilisation de bibliothèques externes, et en utilisant directement des méthodes intégrées JavaScript pour implémenter la conversion de données. Il est également plus facile à évoluer, si vous devez faire face à plus de types de restaurants, ajoutez simplement plus case
dans l'instruction switch
.
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

Undress AI Tool
Images de déshabillage gratuites

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.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

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



L'entrée vocale de l'utilisateur est capturée et envoyée au backend PHP via l'API MediaRecorder du JavaScript frontal; 2. PHP enregistre l'audio en tant que fichier temporaire et appelle STTAPI (tel que Google ou Baidu Voice Recognition) pour le convertir en texte; 3. PHP envoie le texte à un service d'IA (comme Openaigpt) pour obtenir une réponse intelligente; 4. PHP appelle ensuite TTSAPI (comme Baidu ou Google Voice Synthesis) pour convertir la réponse en fichier vocal; 5. PHP diffuse le fichier vocal vers l'avant pour jouer, terminant l'interaction. L'ensemble du processus est dominé par PHP pour assurer une connexion transparente entre toutes les liens.

Pour réaliser la correction d'erreur de texte et l'optimisation de la syntaxe avec l'IA, vous devez suivre les étapes suivantes: 1. Sélectionnez un modèle ou une API d'IA appropriée, tels que Baidu, Tencent API ou bibliothèque NLP open source; 2. Appelez l'API via Curl ou Guzzle de PHP et traitez les résultats de retour; 3. Afficher les informations de correction d'erreur dans l'application et permettre aux utilisateurs de choisir d'adopter l'adoption; 4. Utilisez PHP-L et PHP_CODESNIFFER pour la détection de syntaxe et l'optimisation du code; 5. Collectez en continu les commentaires et mettez à jour le modèle ou les règles pour améliorer l'effet. Lorsque vous choisissez AIAPI, concentrez-vous sur l'évaluation de la précision, de la vitesse de réponse, du prix et du support pour PHP. L'optimisation du code doit suivre les spécifications du PSR, utiliser le cache raisonnablement, éviter les requêtes circulaires, revoir le code régulièrement et utiliser x

PHP assure l'atomicité de la déduction des stocks via les transactions de base de données et les verrous en ligne de Forupdate pour empêcher la survente élevée élevée en simultation; 2. La cohérence de l'inventaire multiplateforme dépend de la gestion centralisée et de la synchronisation axée sur les événements, combinant des notifications API / WebHook et des files d'attente de messages pour assurer une transmission fiable de données; 3. Le mécanisme d'alarme doit définir un faible inventaire, un inventaire zéro / négatif, des ventes invidables, des cycles de réapprovisionnement et des stratégies de fluctuations anormales dans différents scénarios, et sélectionner Dingtalk, SMS ou les personnes responsables par e-mail en fonction de l'urgence, et les informations d'alarme doivent être complètes et claires pour réaliser l'adaptation et la réponse rapide.

Sélectionnez le service de reconnaissance vocale AI approprié et intégrez PHPSDK; 2. Utilisez PHP pour appeler FFMPEG pour convertir les enregistrements en formats requis API (tels que WAV); 3. Téléchargez des fichiers sur le stockage cloud et appelez API Asynchronous Recognition; 4. Analyser les résultats JSON et organiser du texte à l'aide de la technologie NLP; 5. Générez des documents Word ou Markdown pour terminer l'automatisation des enregistrements de la réunion. L'ensemble du processus doit assurer le chiffrement des données, le contrôle d'accès et la conformité pour garantir la confidentialité et la sécurité.

Cet article vise à résoudre l'erreur de redéfinition de la fonction NodEcLareArray_Column () commune dans le développement de PHP. Cette erreur se produit généralement lorsque vous essayez de personnaliser la fonction Array_Column, qui est déjà intégrée dans les versions plus récentes de PHP. L'article expliquera en détail comment implémenter en toute sécurité l'ancienne version de la solution de polyfill via condition de jugement conditionnel_exists (), ainsi que les meilleures pratiques pour supprimer directement les fonctions personnalisées redondantes dans un environnement PHP moderne pour assurer la robustesse et la maintenabilité du code.

La gestion de la permission des utilisateurs est le mécanisme central pour réaliser la monétisation des produits dans le développement de PHP. Il sépare les utilisateurs, les rôles et les autorisations via un modèle de contrôle d'accès basé sur les rôles (RBAC) pour obtenir une allocation et une gestion d'autorisation flexibles. Les étapes spécifiques incluent: 1. Concevoir trois tables d'utilisateurs, rôles et autorisations et deux tables intermédiaires de user_roles et de role_permissions; 2. Implémentez les méthodes de vérification de l'autorisation dans le code telles que $ user-> can ('edit_post'); 3. Utilisez du cache pour améliorer les performances; 4. Utiliser le contrôle de l'autorisation pour réaliser la superposition des fonctions du produit et les services différenciés, soutenant ainsi le système d'adhésion et les stratégies de tarification; 5. Évitez la permission que la granularité est trop grossière ou trop fine, et utilisez "l'investissement"

Cet article élabore sur deux méthodes principales pour réaliser Call Hold et Unbanding in Twilio. L'option préférée est de tirer parti de la fonctionnalité de conférence de Twilio pour activer facilement la rétention et la récupération des appels en mettant à jour les ressources des participants de la conférence et pour personnaliser la rétention musicale. Une autre approche consiste à traiter les jambes d'appel indépendantes, qui nécessitent une logique Twiml plus complexe, passée et arrivée la gestion, mais qui est plus lourde que le mode de réunion. L'article fournit des exemples de code spécifiques et des étapes de fonctionnement pour aider les développeurs à implémenter efficacement le contrôle des appels Twilio.

Sélectionnez la méthode de journalisation: au stade précoce, vous pouvez utiliser l'erreur intégrée_log () pour PHP. Une fois le projet élargi, assurez-vous de passer à des bibliothèques matures telles que Monolog, prendre en charge plusieurs gestionnaires et niveaux de journal et assurez-vous que le journal contient des horodatages, des niveaux, des numéros de ligne de fichiers et des détails d'erreur; 2. Structure de stockage de conception: une petite quantité de journaux peut être stockée dans des fichiers, et s'il existe un grand nombre de journaux, sélectionnez une base de données s'il existe un grand nombre d'analyses. Utilisez MySQL / PostgreSQL sur des données structurées. Elasticsearch Kibana est recommandé pour semi-structuré / non structuré. Dans le même temps, il est formulé pour les stratégies de sauvegarde et de nettoyage régulières; 3. Interface de développement et d'analyse: il devrait avoir des fonctions de recherche, de filtrage, d'agrégation et de visualisation. Il peut être directement intégré à Kibana ou utiliser la bibliothèque du graphique Framework PHP pour développer l'auto-développement, en se concentrant sur la simplicité et la facilité d'interface.
