如何在 JavaScript 中访问嵌套 for 循环之外的变量
How to access a variable outside of a nested for loop in JavaScript
我有一个带有 for 循环的 JS 函数。在嵌套的 for 循环中,str
element 打印所有预期的元素。但是,在外面它不会全部打印出来。我将不胜感激任何帮助。这是我的代码:
function getResearchersFullName(allDataJson){
var str = [];
var myarr = [];
var c = 0;
for(var i = 0; i < allDataJson.length; i++){
myarr[i] = allDataJson[i].Researchers.split(", ");
for(var j = 0; j < myarr[i].length; j++){
str[c] = myarr[i][j];
//console.log(str[c]); //prints as expected
}
}
return str;
}
我尝试按如下方式使用返回值,但它只打印其中一个 str 值。
var fullnames = getResearchersFullName(allDataJson);
for(var i = 0; i <fullnames.length; i++){
console.log(fullnames[i]); //returns only 1 object
}
您的代码永远不会递增 c
。 str
中唯一修改过的元素是元素 0。
使用 str.push(myarr[i][j]);
,您根本不需要 c
。
我有一个带有 for 循环的 JS 函数。在嵌套的 for 循环中,str
element 打印所有预期的元素。但是,在外面它不会全部打印出来。我将不胜感激任何帮助。这是我的代码:
function getResearchersFullName(allDataJson){
var str = [];
var myarr = [];
var c = 0;
for(var i = 0; i < allDataJson.length; i++){
myarr[i] = allDataJson[i].Researchers.split(", ");
for(var j = 0; j < myarr[i].length; j++){
str[c] = myarr[i][j];
//console.log(str[c]); //prints as expected
}
}
return str;
}
我尝试按如下方式使用返回值,但它只打印其中一个 str 值。
var fullnames = getResearchersFullName(allDataJson);
for(var i = 0; i <fullnames.length; i++){
console.log(fullnames[i]); //returns only 1 object
}
您的代码永远不会递增 c
。 str
中唯一修改过的元素是元素 0。
使用 str.push(myarr[i][j]);
,您根本不需要 c
。