title: JQuery Map and JSON - Getting Sub Array Elements
body: <p>I'm using JQuery to get city data from geonames.  My problem is when I want to extract the value for sub-array items when using the JQuery map function.</p>
  
  <p>In this example, if I want to get the Wikipedia link, how could I do this?</p>
  
  <p>I tried:
  wikipedia: item.alternateNames.lang['link']</p>
  
  <p>but didn't expect it would really work.  Does anyone know who I can extract the sub array items?</p>
  
  <p>Here are the bits of code:</p>
  
  <p>JSON RESULT</p>
  
  <pre><code>"geonames": [{
  "alternateNames": [
    {
      "name": "Rancho Cucamonga",
      "lang": "en"
    },
    {
      "name": "91739",
      "lang": "post"
    },
    {
      "name": "http://en.wikipedia.org/wiki/Rancho_Cucamonga%2C_California",
      "lang": "link"
    }
  
  ],
  adminCode2": "071",
  "countryName": "United States",
  "adminCode1": "CA",
  "fclName": "city, village,...",
  "elevation": 368,
  "score": 0.9999999403953552,
  "countryCode": "US",
  "lng": -117.5931084,
  "adminName2": "San Bernardino County",
  "adminName3": "",
  "fcodeName": "populated place",
  </code></pre>
  
  <p>JQuery:</p>
  
  <pre><code>$("#city").autocomplete({
          source: function(request, response) {
              $.ajax({
                  url: "http://ws.geonames.org/searchJSON",
                  dataType: "jsonp",
                  data: {
                      featureClass: "P",
                      style: "full",
                      maxRows: 12,
                      name_startsWith: request.term
                  },
                  success: function(data) {
  
                      response($.map(data.geonames, function(item) {
                          return {
                              label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                              value: item.name,
                              latitude: item.lat,
                              longitude: item.lng,
  
                              // problem here: how to get the value for the alternateNames.lang where lang = link
                              wikipedia: item.alternateNames.lang['link']
  
                          }
                      }))
                  }
              })
          },
  </code></pre>