javascript - 将每个传入响应连接到对象属性

标签 javascript arrays json object

我想将来自 resnews 的每个响应连接到名为 newsObj.getNews 的 ojbect 属性。

API 在页面首次加载时调用,并在我们向下滚动时继续加载。我想将每个传入响应(限制为 10)添加到对象属性。

现在每次调用 API 时,它都会与 newsObj.getNews 中的数据重叠,并且只显示 10 个。

  $.ajax({
    method: 'GET',
    url: url,
    data: newsParams,
    success: function(resnews) {
        // app.preloader.hide();
        if(resnews.status == 'ok') {
            if(type=="relevancy"){                      
                newsObj.getNews = resnews.articles; // overlapping my response 
                console.log(typeof resnews.articles); //returns object
                _self.renderNewsInUIAppend(resnews.articles, type)
            } else {
                newsObj.popular = resnews.articles;
                console.log(typeof newsObj);//returns object
                _self.renderNewsInUIAppend(resnews.articles, type);
            }
        } else {
            console.warn("There was error fetching error.");
        }
    }
})

我对 newsObj.getNews 的回复

enter image description here

最佳答案

typeof [] 将给出“对象”,因为数组是一个对象

console.log(typeof [])

可以从here中找到解释

并且您正在循环对象数组以显示数据。所以你可以像下面这样将新数据与旧数据连接起来

var latestNews;
var newsObj = {};
var resNews = {};
resNews.articles = [{id: 1}, {id: 2}];

// At first newsObj.getNews is undefined like below
console.log(newsObj.getNews);

// So you need to do like below
if (typeof newsObj.getNews !== "undefined") {
  latestNews = newsObj.getNews.concat(resNews.articles);
  newsObj.getNews = latestNews;
} else {
  newsObj.getNews = resNews.articles;
}

console.log(newsObj.getNews);

// New news
resNews.articles = [{id: 3}, {id: 4}];

setTimeout(function () {
  latestNews = newsObj.getNews.concat(resNews.articles);
  newsObj.getNews = latestNews;
  console.log(newsObj.getNews);
}, 1000);

关于javascript - 将每个传入响应连接到对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52246803/

相关文章:

java - 将表列解析为数组

javascript - 解析json时出错

javascript - 电话号码正则表达式验证[区号和电话号码]

javascript - 是否可以在 Javascript 的 If 语句中添加 HTML 并关闭脚本标签?

java - 比较两个数组列表

c - 从函数中读取数组的索引

java - Android - HTTP 响应的字符大小

javascript - JSON 包含单引号导致语法错误

javascript - Jquery 插件绑定(bind)更改事件

javascript - 在移动设备上显示 div 上方的 ul 列表