0
votes

Collection de cartes à l'objet

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: xxx

Le résultat doit être: xxx

serait préférable d'utiliser lodash pour cette


0 commentaires

5 Réponses :


2
votes

Vous pouvez utiliser Array .Reduce () code> :

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


0 commentaires

2
votes

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)


1 commentaires

Intéressant detries approche.



0
votes

avec lodash, vous pouvez utiliser _. 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>:

p>

<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script>


0 commentaires

0
votes

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%; }


0 commentaires

0
votes

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))


0 commentaires