-1
votes

Comment puis-je convertir un tableau en objet?

J'ai le tableau suivant: xxx pré>

Je dois activer le tableau ci-dessus dans un objet comme celui-ci: p>

{
    '2020-01-16': {selected: true, marked: true, selectedColor: 'blue'},
    '2020-01-17': {selected: true, marked: true, selectedColor: 'blue'},
    '2020-01-18': {selected: true, marked: true, selectedColor: 'blue'},
}


3 commentaires

Je ne pense pas que ce soit possible. Vous devrez peut-être utiliser JavaScript et des boucles pour activer la liste dans un objet.


utiliser pour boucle. Ex: laisser le résultat = {}; array.foreach (élément => {résultat [élément] = {sélectionné: true, marquée: true, sélectionnée: 'bleu'};}); console.log (résultat);


En outre, veuillez inclure que vous avez étudié. Si vous ne l'avez pas fait, je vous recommande de le faire la prochaine fois :).


3 Réponses :


1
votes

Utilisez .foForeach () Pour itérer toutes les personnes et construire votre objet dehors. XXX

Vous aurez probablement besoin de changer la logique aussi loin que possible. Les données spécifiques que vous enregistrez (pour sélectionnés, marquées, sélectionnées), mais c'est l'approche la plus simple en général.


5 commentaires

Vous et moi tous les deux vont les obtenir - l'OP n'avait rien essayé ou n'avait rien offert de code qui ne fonctionnait pas .. Nous sommes venus de l'avant et nous avons répondu à sa question. ;)


Ne vous inquiétez pas, j'ai évoqué vos deux questions, tous très bons! EDIT: Ils devraient ajouter une liste de bownvotes et de préhabus pour la commodité lol.


WOW 3 Downvotes. Je ne sais pas pourquoi. Personnellement préférez les fonctions pures mais ce n'est pas faux.


Je suis avec vous, @Paulrooney - c'est pourquoi je préfère réduire () sur foreach () . Mais dans ce cas, ils fonctionnent plutôt bien.


Une autre manière fonctionnelle objet.fromentries (entrée.map (i => [i, x])) x est l'objet Paramètres communs. objet.fromentries une nouvelle fonction si.



2
votes

Bien sûr, en utilisant array.reduce () code>, c'est une chose assez simple. L'accumulateur de la fonction de réduction est simplement un objet vide et chaque itération en réduit, nous créons une nouvelle propriété avec la valeur de cette armature de cet article en tant que nom de propriété et définissez l'objet littéral comme valeur de cette propriété.

J'espère que cela. Aide! p>

p>

const myArray = ['2020-01-16', '2020-01-17', '2020-01-18'];

const myObject = myArray.reduce( (obj, item) => {
  obj[item] = {selected: true, marked: true, selectedColor: 'blue'};
  return obj;
 }, {});
 
 console.log(JSON.stringify(myObject) );


6 commentaires

Noice, il choisit que tu lol


Chance du tirage au sort. Avoir un exemple de travail aide toujours. Un peu de sentence comme des tirants, les vieux jours d'eBay. faire marcher


Oui, cette réponse était en quelques secondes avant le mien XD et je n'ai pas fait de mien un extrait. w / e lol.


Très stratégique ...


Cet article se transforme en une salle de discussion ...


@nzifnab j'ai toujours évoqué le vôtre. Est très jolie. ;)



1
votes

J'utiliserais réduire code> pour gérer cela ( Documentation sur Réduire CODE> ):

var arr = ['2020-01-16', '2020-01-17', '2020-01-18'];

arr.reduce(function(accumulator, val){
  accumulator[val] = {selected: true, marked: true, selectedColor: 'blue'};
  return accumulator;
}, {});


0 commentaires