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?