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