重複の可能性:
for ループでクリック ハンドラーを割り当てる
Twitter からツイートをリクエストし、それらを 2 つの配列に保存します。1 つの配列にはニュース チャネルからのツイートがあり、もう 1 つの配列には最初の配列 (news_array) の同じツイートに投稿したユーザーからのツイートがあります。
ご覧のとおり、最初の配列のテキストに対して user_tweeets 配列のテキストをチェックし、そのニュースについてツイートしたすべてのユーザーを出力しています。
問題は、エントリが出力されるたびに news_user の名前とテキストが出力されることです。これらの要素を毎回表示するのではなく、ユーザーのプロフィール画像と、テキスト、プロフィール画像、およびチャネルの名前を 1 回だけ表示します。どうやってやるの?
ここにフィドルがあります --- jsfiddle
function geo(news_array, user_tweets) {
console.log(news_array);
console.log(user_tweets);
for (var i = 0; i < news_array.length; i++) {
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].news_url;
var news_user = news_array[i].news_user;
second(news_user, news_date, news_profile_img, news_text, news_url);
}
function second(news_user, news_date, news_profile_img, news_text, news_url) {
for (var x = 0; x < news_array.length; x++) {
var user = user_tweets[x].user;
var date = user_tweets[x].date;
var profile_img = user_tweets[x].user_profile_img;
var text = user_tweets[x].text;
var url = user_tweets[x].url;
if (text.indexOf(news_text.substr(15, 20)) > -1) {
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) {
$('#news-tweets').css({
'overflow-y': 'scroll',
'overflow-x': 'hidden'
});
$('#news-tweets').append('<table class="news" width="402" border="0">\
<tr>\
<td colspan="5" class="user">' + news_user + '(' + news_date + ')</td>\
</tr>\
<tr>\
<td colspan="5" rowspan="1" class="user">' + news_text + '</td></tr><tr><td width="59" valign="top"><a href=' + profile_img + ' target="_blank">\
<img src=' + profile_img + ' width="55" height="50"/></a></td>\
</tr>\
</table>');
}
}
}