范围错误?无法读取未定义错误的属性'news_property'

时间:2017-10-11 23:32:36

标签: javascript jquery json scope undefined

我一直在关注堆栈溢出,但似乎无法得到一个好的答案,他们中的很多人似乎都在说试试&赶上,但我想知道它是否是一个范围错误

function updateNews() {
    var news_all = $("#news_all");
    var news = data.news.content;
    for (i = 0; i <= news.length; i++ ) {
        var num = i + 1
        var news = data.news.content;
        var  single = news[i];
        if (single.show_item == true) {
            var news_new = '<div class="news-container">' news.title '</div>';
            news_all.append(news_new);
        }

    }
}

scripts.js:94未捕获的TypeError:无法读取未定义的属性“show_item”

我正在使用JSON数组,还有一个名为“show_item”的属性。

提前致谢!

2 个答案:

答案 0 :(得分:0)

当你应该迭代到int main() { char* s = argv[2]; //Gets the filename. unsigned long long int size; int min, max; int* buffer = max_min(s, &size, &max, &min); return 0; } int* max_min(char* filename, unsigned long long int* size, int *max, int *min) { FILE* fp; fp = fopen(filename, "r"); struct stat file_stat; unsigned long long int amount; stat(filename, &file_stat); *size = file_stat.st_size; *size /= sizeof(int); int* buffer = malloc(*size *sizeof(int)); amount = fread(buffer, sizeof(int), *size, fp); return buffer; } 时(情况很重要),你正在迭代到News.length。这导致您的news.length评估之一为news[i]

undefined

答案 1 :(得分:0)

如果我不得不对你实际尝试做的事情进行一次大的猜测,并假设data.news.content是一个数组,它可能看起来像

$('#news_all').append(
  data.news.content
    .filter(newsItem => typeof newsItem === 'object' && newsItem.show_item)
    .map(newsItem => $('<div class="news-container"></div>').text(newsItem.title))
)

有了这个,我将过滤掉undefinedshow_item设置为false的条目和条目。

然后我将过滤后的集合映射到jQuery <div>对象数组,并将其文本设置为相关标题。

然后将此对象集合附加到#news_all元素。

有关详细信息,请参阅