21

現在、問題を引き起こしているかなり機能不全の Javascript プログラムがあります。ただし、理解できないエラーが1つスローされます。

TypeError: 'undefined' is not an object (evaluating 'sub.from.length')

おそらくご想像のとおり、私がやろうとしているのは、 dict内のlength特定の " from" 配列をチェックすることです。関数全体subのソース コードは次のとおりです。エラーの原因と思われるループのコードは次のとおりです。

console.log(afcHelper_ffuSubmissions.length); // just for debugging, returns the correct number
for (var i = 0; i < afcHelper_ffuSubmissions.length; i++) { // this whole section works fine
    var sub = afcHelper_ffuSubmissions[i];
    //console.log("THIS IS BROKEN DOWN BY LINK",afcHelper_Submissions[i]);
    if (pagetext.indexOf(afcHelper_ffuSections[sub.section]) == -1) {
        // Someone has modified the section in the mean time. Skip.
        document.getElementById('afcHelper_status').innerHTML += '<li>Skipping ' + sub.title + ': Cannot find section. Perhaps it was modified in the mean time?</li>';
        continue;
    }
    var text = afcHelper_ffuSections[sub.section];
    var startindex = pagetext.indexOf(afcHelper_ffuSections[sub.section]);
    var endindex = startindex + text.length;

    console.log(sub); 
    if (typeof(sub.from) != 'undefined' && sub.from.length > 0) { // ** problem spot?? this is the code i recently added.
        for (var i = 0; i < sub.from.length; i++) {
            mainid = sub.from[i]['id'];
            var sub = afcHelper_Submissions[mainid]; // and then it goes on from here...

どんなアイデアでも素晴らしいでしょう。率直に言って、TypeError( ) の型を既に明示的にチェックしたことについて、なぜ取得しているのかわかりませんtypeof(sub.from)...

4

2 に答える 2