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

Generating new variables to save loop results

我会尽量详细说明这个话题。

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

所以,为了让事情变得简单,我不会粘贴我正在使用的代码,我只会创建一个简单的数组和 运行 作为示例的“for”循环,所以你们可以告诉我如何将结果保存到新变量中。

举个例子:

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

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

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

测试代码

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

编辑:

好的,看了第一个答案,我想我必须澄清一些事情。

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

您可以使用 window 对象获取单个变量(如果我正确地找到了您)。

使用 JS 可以在 window 范围内声明变量。

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.

希望对您有所帮助。

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

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

函数 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);