J'ai le tableau suivant: 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 Réponses :
Utilisez 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. p> p> .foForeach () code> Pour itérer toutes les personnes et construire votre objet dehors.
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 () code> sur
foreach () code>. Mais dans ce cas, ils fonctionnent plutôt bien.
Une autre manière fonctionnelle objet.fromentries (entrée.map (i => [i, x])) code> où
x code> est l'objet Paramètres communs.
objet.fromentries code> une nouvelle fonction si.
Bien sûr, en utilisant J'espère que cela. Aide! p> p> 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é.
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) );
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. ;)
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;
}, {});
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 :).