javascript - 如何在 JavaScript 中访问嵌套 for 循环之外的变量

标签 javascript function for-loop nested-loops

我有一个带有 for 循环的 JS 函数。在嵌套的 for 循环内,str 元素打印所有预期元素。但是,在外面它不会打印全部内容。我将不胜感激任何帮助。这是我的代码:

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

        }

最佳答案

您的代码永远不会递增cstr 中唯一被修改过的元素是元素 0。

使用str.push(myarr[i][j]);,你根本不需要c

关于javascript - 如何在 JavaScript 中访问嵌套 for 循环之外的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636808/

相关文章:

c++ - 任何想法为什么这可能会关闭该程序?

r - 如何使用一些 apply 函数来解决 R 中需要两个 for 循环的问题

javascript - 在 ajax $.get 之后刷新 javascript 和 css

javascript - cron 中的 Promise 只执行一次

javascript - 为什么我无法删除窗口上的 'resize' 事件?

javascript - 如何设置-webkit-print-color-adjust : exact from Javascript programmatically?

c++ - 为什么 clang 3.4 以如此奇怪的方式实现 `std::function`?

php - 如何从PHP中的类中的静态函数调用非静态方法

python - 检查排列 python 上排列出现的行号

function - Call 必须与卸载部分中以 "un."开头的函数名一起使用