2012-09-24 101 views
0

你好,我想从两个数组中提取具有相同url的元素。如何循环这两个数组并获取它们的内容,因为它给了我未定义的news_url,并且我认为它输出两次在控制台中的项目。从两个具有相同值的数组中提取元素

function geo(news_array,user_tweets){ 
    console.log(news_array,user_tweets); 
    for (var x=0; x<user_tweets.length; x++) { 
     var user = user_tweets[x].user; 
     var date = user_tweets[x].date; 
     var profile_img = user_tweets[x].profile_img; 
     var text = user_tweets[x].text; 
     var url=user_tweets[x].url; 
     second(user,date,profile_img,text,url); 
    } 
    function second(user,date,profile_img,text,url){ 
     for (var i = 0; i < news_array.length; i++) { 
      var news_user = news_array[i].news_user; 
      var news_date = news_array[i].news_date; 
      var news_profile_img = news_array[i].news_profile_img; 
      var news_text = news_array[i].news_text; 
      var news_url=news_array[i].url; 
      if (url==news_array[i].news_url) { 
       geocode(user,date,profile_img,text,url,news_user,news_date,news_profile_img,news_text,news_url); 
      } 
     } 
    } 
    function geocode(user,date,profile_img,text,url,news_user,news_date,news_profile_img,news_text,news_url) { 
     console.log(url,news_url); 
      } 
    } 
+0

这两个阵列的结构是什么?您可以console.log它们并显示每个数组的一个或两个项目的输出。 –

+0

我正确缩进你的代码,看起来你错过了一些右花括号。你可以仔细检查一下吗? –

+0

不会有多层次的循环就够了吗? – techfoobar

回答

0

的问题是在news_tweets功能 ,您添加到news_urlnews_array。所以,你应该叫

news_array [I] .news_url

second功能。

我修改代码为

  1. news_url: (item.entities.urls.length > 0)?item.entities.urls[0].url : ''news_tweets功能
  2. 增收支柱}geo功能,从去年
  3. 删除}添加new_array参数second功能像second(user, date, profile_img, text, url,news_array);

修改co de可以在http://jsfiddle.net/rhjJb/7/

+0

nope这不是working.am获得与以前相同的结果 –

+0

我更新我的答案并在jsfiddle中添加修改代码。让我知道你对此的观察。希望这个帮助。 – swemon

+0

耶是正确的,因为我找到了答案fromsorr我没有告诉你...谢谢:) –

0

你有第一for循环之前,申报一些变量,使他们能够在second功能的范围进行访问。尝试用下面的代码来替换你的第一个for循环:

var user, date, profile_img, text, url; 
for (var x=0; x<user_tweets.length; x++){ 
    user = user_tweets[x].user; 
    date = user_tweets[x].date; 
    profile_img = user_tweets[x].profile_img; 
    text = user_tweets[x].text; 
    url=user_tweets[x].url; 
    second(user,date,profile_img,text,url); 
} 

而且,在你的second功能的ifnews_array[i].news_url没有定义。改为使用if (url == news_url)

+0

不,这不是working.am获得与以前相同的结果! –

+0

@ ak_47你也试着修改你的'if',就像我在回答结束时写的那样? – sp00m

+0

是的,我修改了它 –

相关问题