Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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变量_Javascript_Node.js_Loops_Youtube Api - Fatal编程技术网

在循环外部访问javascript变量

在循环外部访问javascript变量,javascript,node.js,loops,youtube-api,Javascript,Node.js,Loops,Youtube Api,我怎样才能让约翰、莉莎、彼得脱离for循环 var siblings = ["John", "Liza", "Peter"]; for (var i=0; i < siblings.length; i++) { names = siblings[i]; console.log(names) // correctly outputs John, Liza, Peter } console.log(names) // only gives

我怎样才能让约翰、莉莎、彼得脱离for循环

var siblings = ["John", "Liza", "Peter"];

    for (var i=0; i < siblings.length; i++) {

      names = siblings[i];
      console.log(names) // correctly outputs John, Liza, Peter     
    }
console.log(names) // only gives Peter
所以我把它放在一个变量中,比如兄弟姐妹。我循环遍历整个数组,得到snippet.title,snippet.publishedAt。到目前为止一切都很好。但是我想把它推到一个新的数组中,并使它可以在循环之外使用

我现在的代码是:

listVideos是我以前粘贴的块

listVideos.forEach(function list(item) {
    data = new Array();
    title = item.snippet.title; 
    return data.push(title);

    });
console.log(data); // only gives first title. I want to get all titles in an array stored inside data. And make data available globally
在开始时设置变量var data对我不起作用,因为我在forEach循环之外还有其他函数。因此,它必须是一种灵活的方式,我可以移动到我想要的任何地方,比如某种函数范围


谢谢。

它只会说Peter,因为每次循环迭代都会将“名称”设置为该特定名称。如果要获取所有名称,则“名称”必须是一个数组,并且应在循环期间将名称推入:

names.push(siblings[i])
您不需要循环:

var siblings = ["John", "Liza", "Peter"];
var str = siblings.join(',');
console.log(str); //John,Liza,Peter

没有必要推到另一个数组,您将得到与
兄弟姐妹相同的数组,我知道,但这似乎是他们所要求的。根据他们的措辞,很难说你想在for循环之外访问什么?您可以访问循环之外的
兄弟姐妹
值为什么不直接将兄弟姐妹的值作为原始数组输出呢?我想您需要的是将每个值推送到新数组中,这与原始数组没有什么不同
var names = new Array();
names.push(siblings[i]);
console.log(names);
var siblings = ["John", "Liza", "Peter"];
var str = siblings.join(',');
console.log(str); //John,Liza,Peter