生成新变量以保存循环结果
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);
我会尽量详细说明这个话题。
所以我在 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);