J'ai besoin d'aide avec un morceau de code spécifique. C'est un peu difficile à décrire, mais je vais essayer de le faire le meilleur que je peux. J'ai besoin de vérifier un attribut spécifique d'un objet basé sur l'entrée de l'utilisateur. Par exemple, si l'utilisateur entrait 'London', je souhaite pouvoir accéder à un attribut appelé "xcoor.london".
Avant d'avoir essayé beaucoup de "si" et "sinon si", par exemple < / p> c'est à peu près tous; Toutes les idées sont les bienvenues et appréciées! Merci d'avance! P> p>
3 Réponses :
Je ferais un dictionnaire pour les coordonnées. Comme ceci: Si vous souhaitez utiliser votre entrée code> var pour trouver les coordonnées, vous pouvez le faire comme ceci: P>
const result = coordinates[input];
console.log(result.x, result.y) //returns the x and y coordinates for the user input
var map = { 'washington d.c.': 'washdc', 'las vegas': 'lasvegas' }; var input = document.getElementById('input').value; xcoordinate = xcoor[map[input.toLowerCase()] || input.toLowerCase()];
Notez que cela ne fonctionne pas hors de la boîte comme "Washington D.C." devrait être stocké dans xcor ["washdc"] code> pas dans
xcor ["washington d.c."] code>, vous aurez donc besoin d'une sorte de mappage.
Oui, il aura besoin d'un objet de carte.
Je voudrais le résoudre à l'aide de l'objet comme indiqué ci-dessous,
var xcolor = { london: 0.1278, paris: 2.3522, // keep adding more values here } var ycolor = { london: 0.9, paris : 10 // keep adding more values here } let coordinates = { xcoordinate : undefined, ycoordinate : undefined } function setInput(input){ if(xcolor.hasOwnProperty(input) && ycolor.hasOwnProperty(input)){ coordinates.xcoordinate = xcolor[input]; coordinates.ycoordinate = ycolor[input]; } } setInput('paris'); console.log(coordinates.xcoordinate); console.log(coordinates.ycoordinate); setInput('london'); console.log(coordinates.xcoordinate); console.log(coordinates.ycoordinate);
xCoordinate = xcoor [entrée]; code>