2017-10-20 7 views
0

Je travaille sur quelque chose pour vérifier quelle est la valeur maximale et quelle est la valeur min. Pour cela, j'utilise Math.max.apply() et Math.min.apply(). Avant de vérifier que je convertis un objet en code GeoJson appelé de et vers. qui ressemble à ceci:Math.max.apply donne une erreur CreateListFromArrayLike appelé sur non-objet

{ 
 
\t "type": "FeatureCollection", 
 
\t "features": [ 
 
\t \t { 
 
\t \t \t "type": "Feature", 
 
\t \t \t "geometry": { 
 
\t \t \t \t "type": "Polygon", 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t [ 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.338356, 
 
\t \t \t \t \t \t \t 52.790868 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.378572, 
 
\t \t \t \t \t \t \t 52.648089 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.10522, 
 
\t \t \t \t \t \t \t 52.663572 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.089325, 
 
\t \t \t \t \t \t \t 52.798539 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.338356, 
 
\t \t \t \t \t \t \t 52.790868 
 
\t \t \t \t \t \t ] 
 
\t \t \t \t \t ] 
 
\t \t \t \t ] 
 
\t \t \t }, 
 
\t \t \t "properties": { 
 
\t \t \t \t "name": "DiggitTwoOne", 
 
\t \t \t \t "regioFacetId": "tcm:106-353682-1024", 
 
\t \t \t \t "level": 3, 
 
\t \t \t \t "from": "10", 
 
\t \t \t \t "to": "12" 
 
\t \t \t } 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "type": "Feature", 
 
\t \t \t "geometry": { 
 
\t \t \t \t "type": "Polygon", 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t [ 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.105498, 
 
\t \t \t \t \t \t \t 52.663816 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.378605, 
 
\t \t \t \t \t \t \t 52.648187 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.417051, 
 
\t \t \t \t \t \t \t 52.520692 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.173867, 
 
\t \t \t \t \t \t \t 52.509454 
 
\t \t \t \t \t \t ], 
 
\t \t \t \t \t \t [ 
 
\t \t \t \t \t \t \t 6.105498, 
 
\t \t \t \t \t \t \t 52.663816 
 
\t \t \t \t \t \t ] 
 
\t \t \t \t \t ] 
 
\t \t \t \t ] 
 
\t \t \t }, 
 
\t \t \t "properties": { 
 
\t \t \t \t "name": "DiggitTwoTwo", 
 
\t \t \t \t "regioFacetId": "tcm:106-353682-1024", 
 
\t \t \t \t "level": 3, 
 
\t \t \t \t "from": "13", 
 
\t \t \t \t "to": "15" 
 
\t \t \t } 
 
\t \t } 
 
    ] 
 
}

Pour l'instant le code javascript ressemble à ceci:

var from = event.feature.getProperty("from"); 
 
var to = event.feature.getProperty("to"); 
 
var mergeObjects = JSON.parse(from,to); 
 

 
console.log(Math.max.apply(Math,mergeObjects)); 
 
console.log(Math.min.apply(Math, mergeObjects));

Quand je lance le code javascript lui donne un erreur comme ceci: CreateList FromArrayLike appelé sur non-objet. J'utilise les objets de et à.

Y at-il quelque chose que j'ai mal fait ou je me trompe d'utiliser comme ça.

Répondre

0

Votre problème est que apply accepte un tableau et vous n'êtes pas le transmettre que:

var from = event.feature.getProperty("from"), 
    to = event.feature.getProperty("to"), 
    numArr = [from, to]; 

Math.max.apply(Math, numArr); 
Math.min.apply(Math, numArr); 

Est-ce que vous cherchez?

+0

Oui, merci! C'était totalement ce que je cherchais. – MissesA

+0

Content de t'aider, @MissesA – DMcCallum83