J'ai cette structure: J'ai besoin de quelque chose comme: p> qui devrait renvoyer un tableau: p> < Pré> XXX PRE> Y a-t-il un moyen pratique de le faire? par exemple. Lodash, etc. p> p>
6 Réponses :
Vous pouvez obtenir les entrées, filtrer l'âge et renvoyer les clés (qui sont évidemment des cordes).
p>
var entities = { 1: {'name': 'Fred', 'age': 35 }, 2: {'name': 'Hans', 'age': 47 }, 3: {'name': 'Bert', 'age': 27 } }, result = Object .entries(entities) .filter(({ 1: { age } }) => age > 30) .map(([k]) => k); console.log(result);
Vous pouvez utiliser l'objet p> .keys code> combiné avec
array.pototype.filter code>
var entities = {
1: {'name': 'Fred', 'age': 35},
2: {'name': 'Hans', 'age': 47},
3: {'name': 'Bert', 'age': 27}
}
const result = Object.keys(entities).filter(key => entities[key].age > 30);
console.log(result);
Vous pouvez boucler sur des touches des entités code> et vérifier la condition d'âge pour une clé particulière dans les entités code> et filtrer.
var entities = {
1: {'name': 'Fred', 'age': 35},
2: {'name': 'Hans', 'age': 47},
3: {'name': 'Bert', 'age': 27}
}
let op = Object.keys(entities).filter(e=> entities[e].age > 30)
console.log(op)
personnes qui utilisent JavaScript à utiliser pour dire: P > S'il marche comme un canard et des charlaques comme un canard, il s'agit d'un canard p>
BlockQuote> À propos de ce contexte, quelque chose qui agit comme un tableau est juste un objet avec des chiffres comme clé plus em> a Ajoutons la propriété code> de cette manière: p> Filtre code> ne fonctionne que sur
tableau code>, mais il y a quelque chose d'intéressant: votre objet ressemble à un tableau!
la propriété code>. Et regarder votre objet, vous manquez simplement la propriété de longueur! P>
array
.filter(p => p.age > 30)
.map((obj, index) => index);
Je n'ai jamais pensé à des objets comme ça. Néanmoins, dans mon cas, je ne suis pas sûr que cela fonctionnerait lorsque l'identifiant n'est pas séquentiel, disent qu'ils viennent de la base de données -> entités = {97: {...}, 114: {...}, 43 : {...}}.
@ Wolf359 Oui, c'est vrai. Vous ne devriez pas l'utiliser si l'index / ID a une certaine importance. Parce qu'il transformera l'objet dans une matrice et dans un tableau, l'index n'est utilisé que pour localiser l'élément et il ne sera pas stable.
Également dans mon exemple, l'index n'est pas les premiers, car j'utilise mappe code> après
filtre code>!
Utilisez _.map () et _.Keys () pour atteindre le code ci-dessous
var i= -1; var keys=_.keys(entities); var person= _.map(entities, function(p) { i++; if (p.age>30) return keys[i]; });
J'ai besoin d'un tableau d'identifiants, pas de tableau d'objets
Vous pouvez utiliser Lodash Réduire la méthode code>. Cela fonctionne pour les tableaux et les objets.
Exemple:
Qu'est-ce qui ne fonctionne pas pour vous?
@Jeremythille Il est en quelque sorte. Ça s'appelle "utilisateurs". Et je n'essaie pas d'être une Smartass envers vous i> - il s'agit davantage d'appeler les utilisateurs comme étant aléatoire. Je n'ai vu aucun effort de questions ou de réponses que vous obtiendrez des upvotes dans les minutes qui sont affichées ou décentes se sont révélées dans les mêmes délais. Je soupçonne que certains utilisateurs de juste une masse descendent tout ce qu'ils trouvent avec une petite raison.