在循环外部访问javascript变量
我怎样才能让约翰、莉莎、彼得脱离for循环在循环外部访问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
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