Comment renvoyer des paires clé-valeur à partir de la fonction map à l'aide de l'opérateur spread
P粉253800312
P粉253800312 2023-08-13 17:18:34
0
1
502
<p>J'ai un objet et un tableau. Hypothèse :</p> <pre class="brush:php;toolbar:false;">const premier = { 'key1' : 'un rendez-vous', 'key2' : "un rendez-vous" } const seconde = ['key3', 'key4']</pre> <p>Utilisez ensuite une syntaxe étendue pour les fusionner en un seul objet. Pour chaque élément du tableau, je souhaite créer une nouvelle paire clé-valeur et la placer dans cet objet fusionné. Actuellement, je ne peux renvoyer que des objets de la fonction map, pas des paires clé-valeur. Comment changer cela ? </p> <pre class="brush:php;toolbar:false;">const combiné = { ...d'abord, ...second.map(key => ({ [key]: new Date() })) // Renvoie des paires clé-valeur au lieu d'objets }</pré> <p>Le résultat obtenu : </p> <pre class="brush:php;toolbar:false;">{ '0' : { key3 : 'une date' }, '1' : { key4 : 'une date' }, key1 : « un rendez-vous », key2 : « un rendez-vous » }</pré> <p>Le résultat que je souhaite :</p> <pre class="brush:php;toolbar:false;">{ key1 : « un rendez-vous », key2 : « un rendez-vous », key3 : « un rendez-vous », key4 : « un rendez-vous » }</pré> <p><br /></p>
P粉253800312
P粉253800312

répondre à tous(1)
P粉925239921

Je ne peux pas faire ça. map Génère un array (où chaque valeur est le résultat du passage de la valeur à l'index correspondant dans le tableau d'origine à la fonction). Si vous développez le tableau en un objet, vous obtiendrez l'index (numéro) comme nom de propriété et la valeur comme valeur.

Si vous voulez commencer par un tableau et terminer par un objet, alors map就是错误的工具。请改用reducen'est pas le bon outil. Veuillez utiliser reduce à la place.

Similaire au code suivant :

const combined = second.reduce(
    (prev, curr) => {
        return {
            ...prev,
            [curr]: new Date()
        };
    },
    first
);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal