質問: uri; $.getJSON(jsinfo, function(data){ //取得したsummaryが空じゃない時に実行 if (data.items[0].summary != ""){ //#imagesに文字列を代入 $("#images").append(irank + data.items[0].summary); } }); } } }); } ``` ![画像の説明をここに入力](https://i.stack.imgur.com/m8uFK.png)
回答: 原因はpgrhoさんが書かれている通りです。 いつかあなたが絶対に引っかかる、ある一つのJavaScriptの罠 別解としてfor文を使用せずに、`jQuery.each()`や`Array.prototype.forEach()`で配列内(csvListall)の値を1つずつ処理する方法もあります。 `Array.prototype.slice(0, 264)`で最初の要素から264個だけ処理するようにしていますが、csvListallの要素すべてに対して処理を行うのであれば、このメソッドは不要なので削除してください。 **jQuery.each():** ``` $.ajax({ url: 'Google Calendarのアドレスを一覧化した.csv', success: function (era) { csvListall = $.csv()(era); //取得したGoogle Calendarのアドレスを1行ずつ総当りでチェック $.each(csvListall.slice(0, 264), function(index, value){ var calendarId = value[2]; //取得したGoogle Calendarの各アドレスごとにあるランク情報(sss,ss,s,a,b,c)を取得 var irank = value[5]; //... }); } }); ``` **Array.prototype.forEach():** ``` $.ajax({ url: 'Google Calendarのアドレスを一覧化した.csv', success: function (era) { csvListall = $.csv()(era); //取得したGoogle Calendarのアドレスを1行ずつ総当りでチェック csvListall .slice(0, 264) .forEach(function(value, index){ var calendarId = value[2]; //取得したGoogle Calendarの各アドレスごとにあるランク情報(sss,ss,s,a,b,c)を取得 var irank = value[5]; //... }); } }); ```