Javascript 使用包含数组的数组变量修改数组中的字符串

Javascript 使用包含数组的数组变量修改数组中的字符串,javascript,arrays,Javascript,Arrays,我试图通过使用几个for循环来调用每个数组项来循环一个字符串数组。我很难找到正确的代码来完成它。我尝试过使用数组的全局定义等等 var An = new Array( "11111100011111", "11111000011111", "11110011001111", "11100000000111", "11001111110011", "10011

我试图通过使用几个for循环来调用每个数组项来循环一个字符串数组。我很难找到正确的代码来完成它。我尝试过使用数组的全局定义等等

var An = new Array(            
       "11111100011111",       
       "11111000011111",      
       "11110011001111", 
       "11100000000111", 
       "11001111110011", 
       "10011111111001");  
var Bn = new Array(            
       "1000000001",       
       "1001111001",      
       "1000000001", 
       "1000000001", 
       "1001111001", 
       "1000000001"); 

// This second part sits in a onload function.
var alphabet = "AB".split("");

for (x = 0; x < 6; x++) {       
    for (i = 0; i < 2; i++) {
     var my_object = {};
     my_object = window[alphabet[x] + 'n[' + i + ']'];
     my_object = window[my_object].replace(/0/g, "B");
     my_object = window[my_object].replace(/1/g, "_");
    }
}
var-An=新数组(
"11111100011111",       
"11111000011111",      
"11110011001111", 
"11100000000111", 
"11001111110011", 
"10011111111001");  
var Bn=新数组(
"1000000001",       
"1001111001",      
"1000000001", 
"1000000001", 
"1001111001", 
"1000000001"); 
//第二部分位于onload函数中。
var alphabet=“AB”。拆分(“”);
对于(x=0;x<6;x++){
对于(i=0;i<2;i++){
var my_object={};
我的对象=窗口[字母表[x]+'n['+i+']'];
my_object=window[my_object].replace(/0/g,“B”);
my_object=窗口[my_object]。替换(/1/g,“”);
}
}

您应该做的是将
一个
Bn
放入一个对象中。这将使以后的参考更加容易

var alphabet = {
    An: [
       "11111100011111",       
       "11111000011111",      
       "11110011001111", 
       "11100000000111", 
       "11001111110011", 
       "10011111111001"
    ],
    Bn: [
       "1000000001",       
       "1001111001",      
       "1000000001", 
       "1000000001", 
       "1001111001", 
       "1000000001"
    ]
};
然后你选择你想要的数组并在上面循环

var arrays = ['A', 'B'];
for(var x = 0, xLen = arrays.length; x < xLen; x++){
    var my_key = arrays[x]+'n';
    for(var i = 0, iLen = alphabet[my_key].length; i < iLen; i++){
        alphabet[my_key][i] = alphabet[my_key][i].replace(/0/g, "B");
        alphabet[my_key][i] = alphabet[my_key][i].replace(/1/g, "_");
    }
}

你为什么把这件事弄得这么复杂?我有很多数组要处理。你想实现什么?您在哪里设置
名称
?如果你使用
字母表[x]
,并且
字母表.length==2
,为什么
x
一直到
6
?我还是不明白。字母表在这里有什么意义?
窗口[我的对象]
应该完成什么?您试图在哪里访问
An
Bn
窗口[字母表[x]+'n['+i+']]错误,应该是
窗口[字母表[x]+'n'][i]如果有。但是,您不应该像那样使用
窗口
,而是将映射定义为
var数组={A:[…],B:[…]}
,并在那里正常访问它们
var arrays = ['A', 'B'];
for(var x = 0, xLen = arrays.length; x < xLen; x++){
    var my_key = arrays[x]+'n';
    alphabet[my_key] = alphabet[my_key].map(function(val){
        val = val.replace(/0/g, "B");
        val = val.replace(/1/g, "_");
        return val;
    });
}