0
votes

Comment triez-vous une liste de constitus tristes ou faux, en deux matrices distinctes, une avec les objets VRAI et un avec les faux objets?

Voir ci-dessous:

J'ai un groupe de const qui ressemble à ceci: xxx

et je voudrais finalement avoir deux tableaux qui ressemblent à ceci: < / p> xxx

Je construis un système de filtrage dans réagissant natif sur une carte, et je reçois une valeur si un type d'endroit est vrai (c'est-à-dire montrant) ou faux (c.-à-d. Non montrant), et maintenant, j'ai fait une fonction individuelle pour chaque type, c'est-à-dire: xxx

et mon filtre ressemble à ceci: xxx < / pré>


9 commentaires

Pourquoi ne pas garder ceux-ci dans un seul tableau ou un objet?


Déclarant trop de variables comme ça n'a aucun sens pour moi.


Avez-vous un tableau de constitus au début?


Vous dites que vous voulez trueArray = [c, e, f] - voulez-vous dire que vous voulez trueArray = [vrai, vrai, true] ?


@Maheerali idem ici. Puis les mettre en deux matrices n'a pas non plus de sens. Vous auriez un tableau où tous les articles sont true mais vous ne savez pas quelles variables sont celles-ci. C'est un nombre très gaspillé de la quantité de pavillon que vous avez.


@Vlaz je pense qu'il veut obtenir les noms de variables qui sont true ou false .


Laisser le numéro de données = [A, B, C, D, E, F] .Filter (B => B) .Length ; Le nombre de fals est tout simplement 6 - numéros de code . Je ne sais pas ce que tu ferais avec cette information si ...


Eh bien, si vous pouvez utiliser ES6, vous pouvez simplement faire cela: const [truearray, falesarray] = [[[[[[C, E, F], [A, B, D]]; .


Voir les modifications ci-dessus pour le raisonnement


4 Réponses :


0
votes

Cela semble être une chose inutile à faire parce que tous les booléens sont identiques. Au lieu de cela, vous pouvez créer une boucle pour compter le nombre de true s et false 's. XXX


0 commentaires

2
votes

Il n'y a aucun moyen de get la liste des noms de variables déclarés dans une portée.Vous devez utiliser des objets pour cela.

Vous devez créer un objet dont les touches seront A, B ... Le code> et les valeurs seront true code> ou false code>. Ensuite, vous pouvez filtre () code> les touches de l'objet. P>

p>

const obj = {
  a:false,
  b:false,
  c:true,
  d:false,
  e:true,
  f:true
}

let truthy = Object.keys(obj).filter(x => obj[x]);
let falsy = Object.keys(obj).filter(x => !obj[x]);

console.log(truthy);
console.log(falsy)


0 commentaires

0
votes

Eh bien, si vous utilisez ES6 et au-delà, vous pouvez mettre tous vos constants dans un seul tableau, puis le filtrer par ses objets tristes ou faux. Le code suivant implémente cette idée: xxx


2 commentaires

Je ne sais pas pourquoi l'ES6 est pertinente pour la question. Vous pouvez le faire quand même. En fait, si vous n'utilisez pas ES6, vous n'aurez même pas le mot clé const , mais vous pouvez toujours faire la même chose avec var .


Pendant que vous utilisez ES6 de toute façon, faites O => O / O =>! O au lieu de la fonction sans terrain construction.



1
votes

Voici une autre solution utilisant RXJS et son Partition opérateur:

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.5.2/rxjs.umd.min.js"></script>


0 commentaires