2016-07-20 7 views
0

残念ですが、私が間違って投稿した場合は、初めてstackoverflowを使用してください。私は私の仕事のオブジェクトをページに追加するのに問題があります。そのページ上にありますが、定義されていません。ここに私のコードです追加するときに問題が発生する各ループもページ

+1

すべての場所が 'work.jobs.PROPERTY'それはjob.property''でなければなりません。 – Barmar

答えて

0

(これは、不正な形式または誤解最初の投稿です心からの謝罪場合は、親切にしてください;。良い答えに向けたコミュニティからの任意のガイダンスははるかに高く評価されるだろう)

私は問題がで横たわっていたと信じてあなたのforEachループ。 forEachループ内の "job"は、work.jobsからの現在の反復を参照します。したがって、work.jobs.employerを参照する代わりに、job.employerによって参照される必要があります。 あなたが定義されていない理由は、ジョブ配列から雇用者/タイトル/場所/ etcを取得しようとしたためです。アレイに含まれるオブジェクトではありません。

以下試してください:あなたが持っている

work.jobs.forEach(function(job) { 
    console.log(job); 
    $("#workExperience").append(HTMLworkStart); 


    formattedEmployer = HTMLworkEmployer.replace("%data%",job.employer); 
    formattedTitle = HTMLworkTitle.replace("%data%",job.title); 
    var formattedEmployerTitle = formattedEmployer + formattedTitle; 
    $(".work-entry:last").append(formattedEmployerTitle); 

    formattedworkLocation = HTMLworkLocation.replace("%data%",job.location); 
    $(".work-entry:last").append(formattedworkLocation); 
    formattedworkDates = HTMLworkDates.replace("%data%",job.dates); 
    $(".work-entry:last").append(formattedworkDates); 
    formattedworkDescrip = HTMLworkDescription.replace("%data%",job.description); 
    $(".work-entry:last").append(formattedworkDescrip); 


}); 
1

あなたのコードはjobs配列を反復していますが、配列にはジョブ情報を持つオブジェクトが1つしかありません。その情報(雇用者、タイトル、場所など)を繰り返し処理したい場合は、配列にインデックスを付けた後にfor ... inループ(オブジェクトを反復処理)を使用する必要があります。

for (var prop in work.jobs[0]) { ...}

関連する問題