Javascript 循环不同的数组
您好,我正在尝试将新闻推文保存到动态创建的三个不同数组中 当我想从每个数组中获取文本并向twitter发出另一个请求时,我发现了麻烦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
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);
}