J'essaie de nettoyer le code.
ci-dessous est mon Code de cartographie. Objectif: Obtenez les points ultérieurs d'une collection de polygones p> évidemment ce n'est pas vraiment lisible. Je ne trouve pas une belle façon de le simplifier sans ajouter de nombreuses "constantes de lisibilité" (et sans aucune amélioration) p> p> sélectionnégroup.items code> ressemble à ceci (simplifié): p>
3 Réponses :
Vous pouvez faire une fonction d'assistance qui prend un objet szenario code> et appuie chacun des
['xmin', 'xmax', 'ymax'] code> propriétés à la matrice appropriée. Ensuite, tout en itérant sur des articles, il vous suffit de tester si l'élément est un groupe (auquel cas vous feriez
item.szenarios.foreach (addzenario) code>), sinon ajoutez le szenario unique: < Code> addszenario (item.extent) code>
Vous pouvez utiliser Réduire pour calculer le MAX et MIN.
const getVal = (item) => { return item.szenarios ? szenario.extent[key] : item.extent[key]; } const getMin = (group, key) => { return group.items.reduce((acc, item) => { return Math.min(acc, getVal(item)); }, Number.MAX_SAFE_INTEGER); } const getMax = (group, key) => { return group.items.reduce((acc, item) => { return Math.max(acc, getVal(item)); }, Number.MIN_SAFE_INTEGER); } const xmin = getMin(selectedGroup, "xmin"); const xmax = getMin(selectedGroup, "xmax"); const ymin = getMin(selectedGroup, "ymin"); const ymax = getMin(selectedGroup, "ymax");
J'ai proposé un mélange de réponses:
Vous pouvez probablement trouver des réponses ou mieux à poser ici: codereview.stackexchange.com .