Javascript:无法从循环内部修改在循环外部声明的数组 var myArray=“aaaaaa”; 对于(变量i=0;i
由于剪接被注释掉,它只会两次提醒AAAAA。Javascript:无法从循环内部修改在循环外部声明的数组 var myArray=“aaaaaa”; 对于(变量i=0;i,javascript,arrays,loops,Javascript,Arrays,Loops,由于剪接被注释掉,它只会两次提醒AAAAA。 对于拼接,它会在第一时间提醒AAAA,然后不再提醒。(Javascript在命中拼接后停止工作) 我不知道怎么了。 显然,可以从循环中访问该数组,但为什么不能对其进行修改 欢迎任何帮助,谢谢各位 试试:var myArray=[“aaaaaaa”] 这将myArray声明为数组而不是字符串。尝试:var myArray=[“aaaaaa”] 这将myArray声明为数组而不是字符串。问题是myArray不是数组,请尝试 var myArray = "
对于拼接,它会在第一时间提醒AAAA,然后不再提醒。(Javascript在命中拼接后停止工作) 我不知道怎么了。 显然,可以从循环中访问该数组,但为什么不能对其进行修改 欢迎任何帮助,谢谢各位 试试:
var myArray=[“aaaaaaa”]代码>
这将myArray
声明为数组而不是字符串。尝试:var myArray=[“aaaaaa”]代码>
这将myArray
声明为数组而不是字符串。问题是myArray
不是数组,请尝试
var myArray = "AAAAA";
for(var i = 0; i < ["a", "b"].length; i++)
{
alert(myArray);
var myVar = "C"+myArray[1]+"C";
myArray[1] = "K";
//myArray.splice(3,1);
}
var myArray=[“AAAAA”];
对于(变量i=0;i<[“a”,“b”]。长度;i++)
{
警报(myArray);
var myVar=“C”+myArray[1]+“C”;
myArray[1]=“K”;
myArray.剪接(3,1);
}
问题在于myArray
不是数组,请尝试
var myArray = "AAAAA";
for(var i = 0; i < ["a", "b"].length; i++)
{
alert(myArray);
var myVar = "C"+myArray[1]+"C";
myArray[1] = "K";
//myArray.splice(3,1);
}
var myArray=[“AAAAA”];
对于(变量i=0;i<[“a”,“b”]。长度;i++)
{
警报(myArray);
var myVar=“C”+myArray[1]+“C”;
myArray[1]=“K”;
myArray.剪接(3,1);
}
如果要将字符串作为字符数组处理:
var myArray = ["AAAAA"];
for(var i = 0; i < ["a", "b"].length; i++)
{
alert(myArray);
var myVar = "C"+myArray[1]+"C";
myArray[1] = "K";
myArray.splice(3,1);
}
如果要将字符串作为字符数组处理,请执行以下操作:
var myArray = ["AAAAA"];
for(var i = 0; i < ["a", "b"].length; i++)
{
alert(myArray);
var myVar = "C"+myArray[1]+"C";
myArray[1] = "K";
myArray.splice(3,1);
}
myArray
不是Array
,因此会抛出uncaughttypeerror
假设您希望myArray
成为['A','A','A','A','A']
,您可以使用split()
方法:
var myArray = "AAAAA".split('')
//var myArray='AAAAA';//这不是一个数组。您的意思是:
var myArray='AAAAA'。拆分('');
//var myVar;//你应该在这里申报
//i<[a',b']长度的目的是什么?为什么我不能<2?
对于(变量i=0;i<[a',b'].长度;i++){
警报(myArray.join());//将数组转换回字符串
/**
*它有函数作用域,而不是块作用域(上面声明)
*(我猜你以后会使用这个值?)
*/
var myVar='C'+myArray[1]+'C';
myArray[1]=“K”;
myArray.剪接(3,1);
}
myArray
不是数组
,因此会引发未捕获类型错误
假设您希望myArray
成为['A','A','A','A','A']
,您可以使用split()
方法:
var myArray = "AAAAA".split('')
//var myArray='AAAAA';//这不是一个数组。您的意思是:
var myArray='AAAAA'。拆分('');
//var myVar;//你应该在这里申报
//i<[a',b']长度的目的是什么?为什么我不能<2?
对于(变量i=0;i<[a',b'].长度;i++){
警报(myArray.join());//将数组转换回字符串
/**
*它有函数作用域,而不是块作用域(上面声明)
*(我猜你以后会使用这个值?)
*/
var myVar='C'+myArray[1]+'C';
myArray[1]=“K”;
myArray.剪接(3,1);
}
正如jdawg所说,myArray不是数组,而是字符串。代码停止,因为它尝试调用字符串中不存在的函数(拼接)时会引发错误
可以在循环中修改数组
在数组中转换字符串的另一种方法是
//var myArray = 'AAAAA'; // This is not an Array did you mean:
var myArray = 'AAAAA'.split('');
//var myVar; // Should declare this here
// What is the purpose of i < ['a', 'b'].length? why not i < 2?
for(var i = 0; i < ['a', 'b'].length; i++) {
alert(myArray.join()); // Turn Array back into a string
/**
* This has function scope, not block scope (declare above)
* (I'm guessing you use this value later?)
*/
var myVar = 'C' + myArray[1] + 'C';
myArray[1] = 'K';
myArray.splice(3,1);
}
正如jdawg所说,myArray不是数组,而是字符串。代码停止,因为它尝试调用字符串中不存在的函数(拼接)时会引发错误
可以在循环中修改数组
在数组中转换字符串的另一种方法是
//var myArray = 'AAAAA'; // This is not an Array did you mean:
var myArray = 'AAAAA'.split('');
//var myVar; // Should declare this here
// What is the purpose of i < ['a', 'b'].length? why not i < 2?
for(var i = 0; i < ['a', 'b'].length; i++) {
alert(myArray.join()); // Turn Array back into a string
/**
* This has function scope, not block scope (declare above)
* (I'm guessing you use this value later?)
*/
var myVar = 'C' + myArray[1] + 'C';
myArray[1] = 'K';
myArray.splice(3,1);
}
myArray
不是数组,而是字符串。打开控制台,查看错误。他们将让您了解如何开始修复代码。阅读一两篇关于javascript字符串和数组的教程(),它不是数组(即使你称它为数组)myArray
不是数组,而是字符串。打开控制台,查看错误。他们将让您了解如何开始修复代码。阅读一两篇关于javascript字符串和数组()的教程,它们不是数组(即使你称之为数组)