J'ai aplati ce tableau en utilisant [{ "name" : "sam", "age": "20"}, { "name" : "andey", "age" : "26"}, { "name" : "jon", "age" : "24"}]
4 Réponses :
Vous pouvez utiliser avec p> _. Filtre code> et
_. ISObject code> méthodes pour renvoyer une matrice d'objets uniquement.
_. Méthode de chaîne code>
const res = _..chain (données) .flatten (). Filtre (_. ISObject) .Value ()
Code> p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>
Utilisez simple ES6 Syntex
Diminuer votre format de paquet: -) P>
p>
const sampleData = [ ["x", { "name" : "sam", "age": "20"}], ["y", { "name" : "andey", "age" : "26"}] , ["z", { "name" : "jon", "age" : "24"}]]; const flattenedArray = [].concat(...sampleData).filter(e=>typeof(e)==='object'); console.log(flattenedArray)
Alternativement, vous pouvez itérer chaque tableau et ajouter l'objet dans un accumulateur de matrice.
p>
let sampleData = [ ["x", { "name" : "sam", "age": "20"}], ["y", { "name" : "andey", "age" : "26"}] , ["z", { "name" : "jon", "age" : "24"}]], result = sampleData.reduce((r, a) => { a.forEach(o => o === Object(o) && r.push({...o})); return r; },[]); console.log(result);
Utilisez _. platmap () code>
a aplatiré les articles avec _. Dernier () code>
comme l'itération :
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.js"></script>
Que voulez-vous dire par tirant les objets? En utilisant l'index ou simplement d'obtenir un aléatoire?