Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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 通过API循环的好方法是什么?_Javascript_Arrays_Node.js_Api - Fatal编程技术网

Javascript 通过API循环的好方法是什么?

Javascript 通过API循环的好方法是什么?,javascript,arrays,node.js,api,Javascript,Arrays,Node.js,Api,我正试图找到一种循环遍历数组的好方法,到目前为止,我只能一次遍历一个数组。我假设我需要做一个forEach声明,但不确定如何用词来表达这个声明。你们当中有谁知道这样做的好方法吗 下面是已删除API密钥的node.js应用程序文件 request("https://api.sportradar.us/ncaamb-t3/games/" + yyyy + "/" + mm + "/" + dd + "/schedule.json?api_key=", function(error, response

我正试图找到一种循环遍历数组的好方法,到目前为止,我只能一次遍历一个数组。我假设我需要做一个forEach声明,但不确定如何用词来表达这个声明。你们当中有谁知道这样做的好方法吗

下面是已删除API密钥的node.js应用程序文件

request("https://api.sportradar.us/ncaamb-t3/games/" + yyyy + "/" + mm + "/" + dd + "/schedule.json?api_key=", function(error, response, body){
    if(!error && response.statusCode == 200){
        var data = JSON.parse(body);
    T.post('statuses/update', { status: (data["games"][6]["home"]["name"]) + " Vs " + (data["games"][6]["away"]["name"]) }, function(err, data, response) {
  console.log(data);
});
       }
  }); 
下面是我尝试循环使用的数组示例:

游戏:

  [ { id: 'f46c9795-a8f1-4ca3-8960-3788fb6a37c5',
       status: 'scheduled',
       coverage: 'extended_boxscore',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },
     { id: '0e93d1d1-2d57-4524-b95f-d9d1b133b95f',
       status: 'scheduled',
       coverage: 'full',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },
     { id: '7eb44074-4656-489a-976d-abfcbd669a7c',
       status: 'scheduled',
       coverage: 'extended_boxscore',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: true,
       venue: [Object],
       home: [Object],
       away: [Object] },
     { id: '76fed39a-f931-4243-885d-86b14da93e4a',
       title: 'Atlantic Sun - Quarterfinal 3',
       status: 'scheduled',
       coverage: 'full',
       scheduled: '2017-02-28T00:00:00+00:00',
       conference_game: false,
       venue: [Object],
       broadcast: [Object],
       home: [Object],
       away: [Object] },

正如你所见,我为主客场球队都输入了一个数字[6],因为这是唯一对我有效的方法,否则它会给我一个错误,因为它是一个对象,如果我这样写的话(
data[“games”][“home”][“name”]
)有什么建议吗?

至于你的评论,为了在比赛中循环并展示客队对主队的比赛,以下内容将起作用:

data.games.forEach(v => {
    console.log("home team: " + v.home.name, "away team: " + v.away.name);
});
当然,您可以使用同一个循环向twitter发布多个状态更新

我不知道twitter API,也不知道是否有可能在一个调用中发布多个更新,但只要发布多次,您就可以使用:

data.games.forEach(v => {
    T.post('statuses/update', { status: v.home.name + " VS " + v.away.name }, 
        function(err, data, response) {
            // ... handle the response as you like
        }
});


至于你的评论,只需在比赛中循环,展示客队对主队的比赛,以下几点就行了:

data.games.forEach(v => {
    console.log("home team: " + v.home.name, "away team: " + v.away.name);
});
当然,您可以使用同一个循环向twitter发布多个状态更新

我不知道twitter API,也不知道是否有可能在一个调用中发布多个更新,但只要发布多次,您就可以使用:

data.games.forEach(v => {
    T.post('statuses/update', { status: v.home.name + " VS " + v.away.name }, 
        function(err, data, response) {
            // ... handle the response as you like
        }
});



也许你应该展示一下主客场的实力。@baao这只是球队的名字,不是,而是object@baao好的,那么我如何让它显示它是什么,这就是你说的吗?是的,但是我在理解你想用这些数据做什么方面也有问题。也许你应该展示一下主客场的情况。@baao这只是球队的名字,不是,这是一个问题object@baao好的,那么我如何让它显示它是什么,这就是你说的吗?是的,但我在理解你想用这些数据做什么方面也有问题。非常感谢你,这很有效,你能解释一下这一部分以及我做错了什么吗?或者发布一个好的资源给我看,以帮助我?如果不是,那也很酷,谢谢你的帮助!这基本上只是一个forEach循环,你可以阅读更多。循环中的
v
是对象,home、away(和home.name)等是对象的属性。你的回应是一个对象数组,当你在谷歌上搜索对象数组时,你可以找到很多关于这个的信息,这里也有一些关于这个的问答@布兰杜普公司。您可以通过某个数组元素的索引来访问它(这就是您对data.games所做的)-或者你可以像我在回答@branduo中那样循环整个数组谢谢你的帮助,我是自学成才的,所以尝试和错误似乎是我最好的朋友,但有时我会被卡住,然后像你这样的好人可以向我解释比文档更简单的事情。再次感谢。还有一件事,我只是运行了一个setInterval函数并在推特上发了所有的消息一次循环y数据LOL我如何循环通过每个对象,但不是所有对象,可能每20秒循环一次?然后我需要在循环通过所有对象后结束它。非常感谢,这很有效,你能解释一下这一部分以及我做错了什么吗?或者可能会发布一个好的资源让我看一下以提供帮助?如果不是,那也很酷,感谢您的帮助!这基本上只是一个forEach循环,您可以阅读更多有关它的内容。循环中的
v
是对象-和home,away(和home.name)等等都是对象的属性。作为响应的是一个对象数组,当你搜索对象数组时,你可以找到很多关于这个的信息——这里也有一些关于这个的问答。@BranduoP.S。你可以通过索引访问某个数组元素(这就是你对data.games[6]所做的)-或者你可以像我在回答@branduo中那样循环整个数组谢谢你的帮助,我是自学成才的,所以尝试和错误似乎是我最好的朋友,但有时我会被卡住,然后像你这样的好人可以向我解释比文档更简单的事情。再次感谢。还有一件事,我只是运行了一个setInterval函数并在推特上发了所有的消息一次y数据LOL我如何循环通过每个对象,但不是所有对象一次,也许每20秒一次?然后我需要在它循环通过所有对象一次后结束它。