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);
}
随着splice的注释,它只会提醒AAAAA。
通过接头,它会在第一时间向AAAAA发出警报,然后再不会发出警报。 (Javascript在碰到拼接后停止工作)
我不知道出了什么问题。 显然,可以从循环内访问数组,但为什么不能修改它?
欢迎任何帮助,谢谢男生和女生!
答案 0 :(得分:2)
尝试:var myArray = ["AAAAA"];
这将myArray
声明为数组而不是字符串。
答案 1 :(得分:2)
myArray
不是Array
,因此会引发Uncaught TypeError
。
假设您打算myArray
为['A', 'A', 'A', 'A', 'A']
,则可以使用split()
方法:
//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);
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split
答案 2 :(得分:1)
如果要将字符串作为字符数组处理:
var myArray = "AAAAA".split('')
答案 3 :(得分:1)
正如jdawg所说myArray不是数组是一个字符串。代码停止,因为它在String中不存在尝试调用函数(splice)时抛出错误。
您可以在循环中修改数组。
在数组中转换字符串的其他方法是
var myArray = myString.split ('')
答案 4 :(得分:0)
问题是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);
}