複数APIの結果をまとめた配列を取得したい。(非同期)
複数URLの取得結果をまとめた配列にしたいのですが、下記のコードでは結果がNULLになってしまします。
ログではtitleは取れている形跡はみられますが、配列をNULL要素で作った後にWebから結果を取得しているように見えます。
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>demo</title>
</head>
<body>
<div id="result"></div>
<script src="../lib/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
  var urls = [
    "http://localhost:8080/books/1.json",
    "http://localhost:8080/books/2.json",
    "http://localhost:8080/books/3.json",
  ];
  var getTitle = function (url) {
    $.get(url,
        function (data) {
          console.log("title:" + data.title);
          return {
            url: url,
            title: data.title
          }
        }
    );
  };
  var results = urls.map(getTitle);
  console.log("results: " + JSON.stringify(results));
  $("#result").text(JSON.stringify(results));
</script>
</body>
</html>結果ログ
results: [null,null,null]
title:t12
title:t1
title:t13
results: [{url:"http://〜/1.json", title: t1},{ (略) },{ (略) }]
のような配列を取得するにはどうすれば良いでしょうか?
よろしくお願いいたします。