0

こんにちは私は同じURLで両方の配列から要素を抽出したいと思います。news_urlに対して未定義を与え、コンソールに2倍のアイテムを出力すると思うので、これら2つの配列をループしてコンテンツを取得するにはどうすればよいですか。

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);
            }
    }
4

2 に答える 2

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);
}

また、if関数secondのでnews_array[i].news_urlは、が定義されていません。if (url == news_url)代わりに使用してください。

于 2012-09-24T11:22:39.387 に答える
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パラメータを追加しますsecondsecond(user, date, profile_img, text, url,news_array);

変更コードはhttp://jsfiddle.net/rhjJb/7/でテストできます

于 2012-09-24T11:23:06.677 に答える