2017-03-05 1 views
0

Ich versuche, die Statusabkürzung von einer Client-IP-Adresse zu erhalten.So finden Sie die Abkürzung des Zustands in Array von Get-Wert

Ich habe die API von IPInfo.org verwendet, um den Zustand von einer IP-Adresse zurück, und das hat wie diese fein gearbeitet:

$.get("https://ipinfo.io", function (response) { 
$state = response.region; 
}, "jsonp"); 

ich viele Staatsnamen wie diese Online-Abkürzungslisten gesehen haben (https://gist.github.com/mshafrir/2646763):

{ 
'Alabama': 'AL', 
'Alaska': 'AK', 
'American Samoa': 'AS', 
'Arizona': 'AZ', 
'Arkansas': 'AR', 
'California': 'CA', 
'Colorado': 'CO', 
'Connecticut': 'CT', 
'Delaware': 'DE', 
'District Of Columbia': 'DC', 
'Federated States Of Micronesia': 'FM', 
'Florida': 'FL', 
'Georgia': 'GA', 
'Guam': 'GU', 
'Hawaii': 'HI', 
'Idaho': 'ID', 
'Illinois': 'IL', 
'Indiana': 'IN', 
'Iowa': 'IA', 
'Kansas': 'KS', 
'Kentucky': 'KY', 
'Louisiana': 'LA', 
'Maine': 'ME', 
'Marshall Islands': 'MH', 
'Maryland': 'MD', 
'Massachusetts': 'MA', 
'Michigan': 'MI', 
'Minnesota': 'MN', 
'Mississippi': 'MS', 
'Missouri': 'MO', 
'Montana': 'MT', 
'Nebraska': 'NE', 
'Nevada': 'NV', 
'New Hampshire': 'NH', 
'New Jersey': 'NJ', 
'New Mexico': 'NM', 
'New York': 'NY', 
'North Carolina': 'NC', 
'North Dakota': 'ND', 
'Northern Mariana Islands': 'MP', 
'Ohio': 'OH', 
'Oklahoma': 'OK', 
'Oregon': 'OR', 
'Palau': 'PW', 
'Pennsylvania': 'PA', 
'Puerto Rico': 'PR', 
'Rhode Island': 'RI', 
'South Carolina': 'SC', 
'South Dakota': 'SD', 
'Tennessee': 'TN', 
'Texas': 'TX', 
'Utah': 'UT', 
'Vermont': 'VT', 
'Virgin Islands': 'VI', 
'Virginia': 'VA', 
'Washington': 'WA', 
'West Virginia': 'WV', 
'Wisconsin': 'WI', 
'Wyoming': 'WY' 
} 

aber ich bin nicht sicher, wie man tatsächlich die Ausgabe von der einer Funktion übernehmen und verwenden sie es die richtige Abkürzung zur Ausgabe in diesem Array.

Wie wird das gemacht? Vielen Dank im Voraus!

+0

Ihre Eingabe wird der Staat Name und Ausgabe wird die Abk sein.? –

Antwort

1

Das ist ziemlich einfach. Sie können auf zwei verschiedene Arten auf JSON-Objekte zugreifen.

  1. Access Halter Notation
  2. Access-Punkt mit ('') Notation (empfohlen)

ich eine Funktion getStateAbbr genannt erstellt haben, die sich von ipinfo.io Staat Namen nehmen und Klammer-Notation, Sie erhalten einen entsprechenden Wert. Warum habe ich Bracket-Notation verwendet, weil sie dynamische Werte haben kann.

Wenn Sie versuchen . Nation dann erhalten Sie undefined.

$.get("https://ipinfo.io", function(response) { 
 
    var state = response.region; 
 
    getStateAbbr(state); 
 
}, "jsonp"); 
 

 
var states = { 
 
    'Alabama': 'AL', 
 
    'Alaska': 'AK', 
 
    'American Samoa': 'AS', 
 
    'Arizona': 'AZ', 
 
    'Arkansas': 'AR', 
 
    'California': 'CA', 
 
    'Colorado': 'CO', 
 
    'Connecticut': 'CT', 
 
    'Delaware': 'DE', 
 
    'District Of Columbia': 'DC', 
 
    'Federated States Of Micronesia': 'FM', 
 
    'Florida': 'FL', 
 
    'Georgia': 'GA', 
 
    'Guam': 'GU', 
 
    'Hawaii': 'HI', 
 
    'Idaho': 'ID', 
 
    'Illinois': 'IL', 
 
    'Indiana': 'IN', 
 
    'Iowa': 'IA', 
 
    'Kansas': 'KS', 
 
    'Kentucky': 'KY', 
 
    'Louisiana': 'LA', 
 
    'Maine': 'ME', 
 
    'Marshall Islands': 'MH', 
 
    'Maryland': 'MD', 
 
    'Massachusetts': 'MA', 
 
    'Michigan': 'MI', 
 
    'Minnesota': 'MN', 
 
    'Mississippi': 'MS', 
 
    'Missouri': 'MO', 
 
    'Montana': 'MT', 
 
    'Nebraska': 'NE', 
 
    'Nevada': 'NV', 
 
    'New Hampshire': 'NH', 
 
    'New Jersey': 'NJ', 
 
    'New Mexico': 'NM', 
 
    'New York': 'NY', 
 
    'North Carolina': 'NC', 
 
    'North Dakota': 'ND', 
 
    'Northern Mariana Islands': 'MP', 
 
    'Ohio': 'OH', 
 
    'Oklahoma': 'OK', 
 
    'Oregon': 'OR', 
 
    'Palau': 'PW', 
 
    'Pennsylvania': 'PA', 
 
    'Puerto Rico': 'PR', 
 
    'Rhode Island': 'RI', 
 
    'South Carolina': 'SC', 
 
    'South Dakota': 'SD', 
 
    'Tennessee': 'TN', 
 
    'Texas': 'TX', 
 
    'Utah': 'UT', 
 
    'Vermont': 'VT', 
 
    'Virgin Islands': 'VI', 
 
    'Virginia': 'VA', 
 
    'Washington': 'WA', 
 
    'West Virginia': 'WV', 
 
    'Wisconsin': 'WI', 
 
    'Wyoming': 'WY' 
 
} 
 

 
function getStateAbbr(name) { 
 
    alert(states[name]); 
 
}
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>

0

Zugang Eigentum über bügel Notation/Index:

var stateName = response.region; 
var stateAbbreviation = abbreviations[stateName]; 
Verwandte Themen