将Newsapi中的文章标题存储到数组中

时间:2019-01-30 21:16:24

标签: javascript arrays api

我对编程还很陌生,最初我是图形设计师,所以如果我的问题很愚蠢,我深表歉意。 我正在尝试使用newsapi做一些事情,基本上我想显示文章标题。我已经做好了这一步,但是现在我想将文章标题存储在数组中,以便能够返回到它。

我几乎尝试了所有操作,但似乎无法正常工作。我试图在函数之前将数组定义为

    var allTitles = [];

,然后尝试使用从API中提取的值填充

    var allTitles = articleTitle[I];

我不确定自己在做什么错。这是整个代码。 非常感谢您的帮助!

r input = document.getElementById('input');
var container = document.getElementById('container');

var allTitles = [];
function getNews(event) {

if (event.keyCode == 13) {


    var everything = $.get("https://newsapi.org/v2/top-headlines?q=" + input.value + "&language=en&apiKey=612c24355bc24dbcbb4b13496d772971");


        everything.done(function(data) {


            for (var i = 0; i < 3; i++) {




                    // var articleImageHeight = Math.floor(Math.random() * 250) + 150;
                    var articleContainer = document.createElement('DIV');
                    var articleTitle = document.createElement('a');
                    var articleDescription = document.createElement('p');
                    articleContainer.classList.add('article-container');
                    articleTitle.classList.add('article-title');
                    articleDescription.classList.add('article-description');
                    container.appendChild(articleContainer);
                    articleContainer.appendChild(articleTitle);
                    articleContainer.appendChild(articleDescription);
                    articleTitle.innerHTML = data.articles[i].title;
                    articleTitle.setAttribute('href', data.articles[i].url);
                    articleTitle.setAttribute('target', '_blank');


                    var allTitles = articleTitle[i];


                    }

        });

    input.value = "";

    while (container.firstChild) {
        container.removeChild(container.firstChild);
    }

}

}

input.addEventListener('keyup', getNews);

1 个答案:

答案 0 :(得分:0)

假设您的其余代码按预期工作,则文章标题将在data.articles[i].title中提供,因此要将其存储在数组allTitles中,您只需替换以下行:

var allTitles = articleTitle[i];

与此相关(请参见push上的MDN文章):

allTitles.push(data.articles[i].title);

或者:

allTitles[i] = data.articles[i].title;