2017-12-02 3 views
0

私はfreeCodeCampのプロジェクトに取り組んでいます。私はこの部分で一日中立ち往生しています。私はWikipedia APIからデータを取得していますが、私はそれを扱うことができますが、達成しようとしている構文を構文解析する方法がわかりません。ここに私が作業しているデータの例へのリンクがあります。 Wikipedia API SearchWikipedia API検索 - forEachで各配列の同じインデックスを取得しますか?

私のHTMLには、ユーザがフォームに何かを入力した後に表示されるブートストラップ・モーダルがあります。リストされたグループが検索結果から返されたデータとともに内部にあります。

これはこれまでのコードです。

$(document).ready(function() { 


$('#searchForm').on('submit', function(e) { 
    e.preventDefault(); 
    $('#wikiSearch').modal('show'); 
    var usersearch = document.getElementById('userinput').value; 
    var apiURL = "https://en.wikipedia.org/w/api.php? 
    action=opensearch&search=" 
    + usersearch + "&format=json&callback=?"; 

$.ajax({ 
    url: apiURL, 
    contentType: "application/json; charset=utf-8", 
    dataType: 'json', 
    type: 'GET', 
    success: function (data) { 
    data[1].forEach(function(item) { 
     $('#results').append("<tr><td><a href='#'>"+item+"</a></td></tr>") 
    }); 
    data[2].forEach(function(item) { 
     $('#brief').append("<tr><td>"+item+"</td></tr>") 
    }) 
    } 
    }); 
    }); 
}); 

私のHTMLの私のモーダルの各グループについて、私は検索結果を1つ表示したいと思います。私は入れ子のforEachを使うことができると思ったが、私が望む結果を返さない。私はマップを使って試してみましたが、長いネストされたforループを作成しようとしましたが、今は笑ってしまったので、学習よりも害が多いかもしれません。どのような入力をありがとう。検索結果から最初の行を表示するには

答えて

0

は、ネストされた配列の最初のキーを使用します。

$('#results').append("<tr><td><a href='#'>" + data[1][0] + "</a></td></tr>") 
$('#brief').append("<tr><td>" + data[2][0] + "</td></tr>") 

data、アレイ内の可能なundefined値のチェックを追加することを忘れないでください。

+0

お返事ありがとうございます!だから私は最初にforEachメソッドを必要としたことはありません.. - ___ - lolありがとう! – nicer00ster

+0

ようこそ@ nicer00sterです。私の答えがあなたの問題の解決に役立つなら、あなたは[それを受け入れる]べきです(https://stackoverflow.com/help/someone-answers)。 – camelsWriteInCamelCase

+0

Gotcha!あなたにこのメッセージに関連する別の質問をするようにメッセージしたらどうしますか? – nicer00ster

関連する問題