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

时间:2015-04-14 20:27:54

标签: 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

        }

1 个答案:

答案 0 :(得分:2)

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

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