生成新变量以保存循环结果

时间:2016-01-12 12:16:04

标签: javascript loops for-loop save var

我会尝试对这个话题非常具体。

所以我在javascript中有一个“for”循环正常工作。该循环旨在淘汰目标文件夹中存在的所有文件的URL。问题是,如何将检索到的URL保存到单个变量中?

所以,为了方便起见,我不会粘贴我正在使用的代码,我只是创建一个简单的数组并运行一个“for”循环作为示例,所以你们可以告诉我如何您会尝试将结果保存到新变量中。

所以这是一个例子:

    var index;
    var arrayElements = ["FirstURL", "SecondURL", "ThirdURL"]

    for (index = 0; index < arrayElements.length; index++) {
        document.write (arrayElements[index]+"<br/>");
    }       

因此,使用该代码,我可以“打印”数组中包含的不同URL(当然,我可以使用console.log,但我在notepad ++中编写,所以我必须使用document.write测试代码)

所以问题是,如何将每个URL保存到单个变量中?

编辑:

好的,所以阅读第一个答案,我想我必须澄清一些事情。

提示是我需要将URL存储在变量中,以便稍后调用它们。所以这不是关于“打印”URL的问题。

3 个答案:

答案 0 :(得分:0)

函数eval()

我知道eval很糟糕

var data = ["a", "b", "c"];

function makeIndvidualVariable(array){
    var size;
    try{
        size = array.length;
        for(var i = 0 ; i < size ; ++i){
            if( eval(array[i]) != undefined){
                eval("var "+array[i]+"="+array[i]+";");
            }else{
                throw "already exist variable : "+array[i];
            }
        }
    }catch(e){
        console.log(e);
    }finally{
        array = size = i = null;
    }
}

makeIndvidualVariable(data);

答案 1 :(得分:-1)

您可以使用窗口对象获取单个变量(如果我正确使用了您)。

使用带有JS的东西,可以在窗口范围内声明变量。

var index;
var arrayElements = ["FirstURL", "SecondURL", "ThirdURL"]

for (index = 0; index < arrayElements.length; index++) {
    window['variable'+index] = arrayElements[index];
}    

// now variables are available globally (through window object)
document.write(variable0); // prints FirstURL
document.write(variable2); // prints ThirdURL
// etc.

希望这有帮助。

答案 2 :(得分:-1)

只是为了逐个打印存储在数组中的url并避免循环,你可以使用它:

document.write (arrayElements.join("<br/>"));