过滤后访问对象数组

时间:2015-01-08 10:25:40

标签: javascript jquery json filter

所以我有一个从Web服务返回的JSON对象。现在我想:

  • 获取一个与categoryTitle匹配的子集,我将其作为参数传递(这似乎有用)
  • 来自我的过滤结果集我想获得另一个对象数组(帮助主题),并且对于每个主题我想要提取SubjectTitle。

问题:似乎我的HelpSubjects数组不存在,但我无法弄清楚原因并希望你能提供帮助。

也许这段评论代码更清晰:

$.fn.helpTopicMenu = function (data) {
    that = this;

    var categoryContent = contents.filter(function (el) {
        return el.CategoryTitle == data.categoryTitle;
    });

    debug('categorys Content: ', categoryContent); //see below

    var container = $('#subjectList');
    var subjectList = categoryContent.HelpSubjects;
    debug('Subjects in Category: ', subjectList); // UNDEFINED?!

    $.each(subjectList, function (i, item) {
        container.append(
            $('<li><a href=\"#\"></a></li>').html(subjectList[i].SubjectTitle)
        );
    });

线debug('categorys Content: ', categoryContent);会返回如下图所示的对象(遗憾的是我无法直接将图片添加到帖子中,所以这里是链接):{{3} }

据我了解,实际上有一个HelpSubjects-Array,每个条目都包含一个SubjectTitle(图中实际上只有一个条目,但我需要Artikel einfügen作为我的html。

如果你可以帮助我会很棒。

1 个答案:

答案 0 :(得分:0)

变量categoryContent set是一个对象数组。

尝试调试categoryContent[0].HelpSubjects并查看您是否可以访问该媒体资源。如果是这样,如果需要,你也可以循环这个数组。