Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环不同的数组_Javascript - Fatal编程技术网

Javascript 循环不同的数组

Javascript 循环不同的数组,javascript,Javascript,您好,我正在尝试将新闻推文保存到动态创建的三个不同数组中 当我想从每个数组中获取文本并向twitter发出另一个请求时,我发现了麻烦 news_tweets("reuters","1652541",3); function news_tweets(query, user_id,count) { news_array = []; $.getJSON("https://api.twitter.com/1/statuses/user_timeline.j

您好,我正在尝试将新闻推文保存到动态创建的三个不同数组中

当我想从每个数组中获取文本并向twitter发出另一个请求时,我发现了麻烦

    news_tweets("reuters","1652541",3);
    function news_tweets(query, user_id,count) {
        news_array = [];
        $.getJSON("https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=false&user_id=" + user_id + "&count="+count+
        "&callback=?",
        function (data) {
      for (var i = 0; i < count; i++) {
          var user = data[i].user.name;
          var date = data[i].created_at;
          var profile_img = data[i].user.profile_image_url;
          var text = data[i].text;
          var url = (data[i].entities.urls.length > 0 ? data[i].entities.urls[0].url : '');
          news_array[i] = [{user:user,date:date,profile_img:profile_img,text:text,url:url}];
        }  
      for (var i = 0; i < news_array.length; i++) {
          for (var x=0; x<i.length; x++){
              console.log(news_array[i][x].user);
              }
            }
        });
    }
新闻推特(“路透社”,“1652541”,3);
功能新闻推文(查询、用户id、计数){
新闻_数组=[];
$.getJSON(“https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=false&user_id=“+user_id+”&count=“+count”+
“&回调=?”,
功能(数据){
对于(变量i=0;i0?数据[i].entities.url[0]。url:“”);
news_array[i]=[{用户:用户,日期:日期,概要文件:概要文件,文本:文本,url:url}];
}  
for(var i=0;i对于(var x=0;x首先,请确保您的
计数小于
数据
数组的长度,否则可能会导致一些
未定义的值:

for (var i = 0; i < count && i < data.length; i++) …

此外,您应该正确缩进代码。您周围有一些奇怪的大括号,无法使代码可读。

问题在于
x您可以尝试以下方法:

  • 使用
    push
    方法在数组中追加元素/数据
    new\u数组

  • 仅使用1个循环
    for
    在控制台上显示
    用户

因此,您的代码如下所示:

news_tweets("reuters","1652541",3);

function news_tweets(query, user_id,count) {
    news_array = [];
    $.getJSON("https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=false&user_id=" + user_id + "&count="+count+
    "&callback=?",
        function (data) {
          for (var i = 0; i < count; i++) {
              var user = data[i].user.name;
              var date = data[i].created_at;
              var profile_img = data[i].user.profile_image_url;
              var text = data[i].text;
              var url = (data[i].entities.urls.length > 0 ? data[i].entities.urls[0].url : '');

              // Pushing your elements in your array, 1 by 1
              news_array.push({user:user,date:date,profile_img:profile_img,text:text,url:url});
        }  

        // Here you only need 1 loop!
        for (var i = 0; i < news_array.length; i++) {
            console.log(news_array[i][x].user);
        }
    });
}
新闻推特(“路透社”,“1652541”,3);
功能新闻推文(查询、用户id、计数){
新闻_数组=[];
$.getJSON(“https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=false&user_id=“+user_id+”&count=“+count”+
“&回调=?”,
功能(数据){
对于(变量i=0;i0?数据[i].entities.url[0]。url:“”);
//将元素按1:1的顺序放入数组中
push({user:user,date:date,profile\img:profile\img,text:text,url:url});
}  
//这里你只需要一个循环!
for(var i=0;i
首先,我会循环第一个直到data.length,而不是count,因为这是一个api,它“可能”或“可能不会”返回所有数据。因此,循环直到data.length将是傻瓜式的

你的问题是长度

for (var i = 0; i < news_array.length; i++) { 
    console.log(news_array[i].user);
}
for(var i=0;i

这应该行得通。不确定为什么必须循环。

请不要删除并重新询问您的问题。您可以编辑它们。Bergi您能帮我解决这个问题吗?
for (var i = 0; i < news_array.length; i++) { 
    console.log(news_array[i].user);
}