How to call $.getJSON() in a for loop?

How to call $.getJSON() in a for loop?

I am coming from the synchronous world and I have not grasped the concept of closures yet. I am trying to loop through an array of airport ids calling the  getJSON  method and build a new array with data from the returned json data for each airport. 

Could someone please look at the code below and explain how to make it work? Thanks in advance!

  1.  var airportswx = [];

  2.     for (key in airports) {
  3.         obj = airports[key];
  4.         xdata = getwx(obj.apt);
  5.         airportswx.push({ 'apt': obj.apt, 'name': xdata.name, 'wx': xdata.delay } )
  6.     }

  7.     function getwx(apt) {
  8.         var url = 'http://services.faa.gov/airport/status/' + apt + '?   format=application/json&callback=?'
  9.         console.log(url);
  10.         $.getJSON(url, function (data) {
  11.             return(data);
  12.         });
  13.     }