Comment cartographier une collection (réseau d'objets) pour s'opposer à la clé et à la valeur des membres des objets de collecte?
La collection est la suivante: Le résultat doit être: p> serait préférable d'utiliser lodash pour cette forte> p> p>
5 Réponses :
Vous pouvez utiliser Array .Reduce () code>
:
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
Le moyen le plus simple est de boucler via la collection code> de la matrice CODE> et ajoutez une nouvelle paire de valeur de clé à un objet comme celui-ci:
p>
const collection=[{id:1,url:'http://url1.com'},{id:2,url:'http://url2.com'},{id:3,url:'http://url3.com'}]; const ouptut = Object.fromEntries(collection.map(o => [o.id, o.url])) console.log(ouptut)
Intéressant detries code> approche.
avec lodash, vous pouvez utiliser p> _. Keyby () code> pour convertir le tableau en objet avec l'identifiant code> code> S en tant que touches, puis cartographier les valeurs sur le
URL code>:
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>
Il s'agit d'une manière plus dynamique d'approcher la génération d'un objet. Fondamentalement, cette approche maintient une gamme de clés spécifiques qui sont la cible pour générer la sortie souhaitée.
p>
.as-console-wrapper { min-height: 100%; }
Utiliser A Pour boucle et une variable, vous pouvez y parvenir. J'espère que cela résoudra votre problème.
p>
const collection = [{ id: 1, url: 'http://url1.com' }, { id: 2, url: 'http://url2.com' }, { id: 3, url: 'http://url3.com' }]; const sampleFunction = (array) => { let output = {} for (let i = 0; i < collection.length; i++) { output[collection[i].id] = collection[i].url } return output } console.log(sampleFunction(collection))