当我从我的一个数组拼接一个条目时,它会从我的另一个数组拼接相同的条目......发生了什么?
private static var words:Array = new WordFile().toString().split(/\n/);
private static var wordsTemp:Array;
public static function checkWord (word:String):Boolean
{
var truefalse:Boolean = wordsTemp.indexOf(word+"\r".toLowerCase()) > -1;
trace (words.length)
wordsTemp.splice(wordsTemp.indexOf(word+"\r".toLowerCase()), 1);
trace (words.length)
return truefalse
}
public static function resetArrays :void
{
wordsTemp = words
}
使用这段代码,我每次开始新游戏时都会调用 resetArrays 函数。进入游戏后,程序将调用 checkWord 并传递一个单词。如果在单词数组中找到,就会从临时数组中拼接出来。但是,当我运行它时,两条迹线会产生 2 个不同的数字,而第二个则低一个(假设在数组中找到了该词)。这在我看来很奇怪,因为我正在拼接要重置的临时数组,但是在跟踪应该不变的数组时(除了我向您展示的操作之外,没有其他操作)似乎由临时数组中的拼接更改...
有什么想法吗?