Javascript 替换数组中多个索引处的内容
我正在尝试用Javascript制作一个刽子手游戏,用户输入一个单词让另一个人猜。单词被发送到一个函数(make下划线),并被做成一个下划线数组,然后返回给播放器,提示输入他们想要猜测的字母。字母和单词被发送到一个函数,该函数查找字母在单词中的位置(getPosition),并将位置发送到另一个函数。函数(insertLetters)用于在给定位置用字母替换下划线。除了函数不替换数组中的任何内容外,所有这些都可以工作。如果第一个字母在单词中只出现一次,则它仅替换第一个字母。如果您有任何解决此问题的建议,我们将不胜感激。我还想知道是否有办法防止用户在单词中输入数字或作为猜测Javascript 替换数组中多个索引处的内容,javascript,arrays,function,array-splice,Javascript,Arrays,Function,Array Splice,我正在尝试用Javascript制作一个刽子手游戏,用户输入一个单词让另一个人猜。单词被发送到一个函数(make下划线),并被做成一个下划线数组,然后返回给播放器,提示输入他们想要猜测的字母。字母和单词被发送到一个函数,该函数查找字母在单词中的位置(getPosition),并将位置发送到另一个函数。函数(insertLetters)用于在给定位置用字母替换下划线。除了函数不替换数组中的任何内容外,所有这些都可以工作。如果第一个字母在单词中只出现一次,则它仅替换第一个字母。如果您有任何解决此问题
刽子手
函数(word){
for(i=0;i0;i--){
字母=提示(“[”+下划线+”]\n猜测一个字母。您还有“+i+”猜测”);
位置(字、字母);
}
开始深入研究的一种方法是使用调试器跟踪应用程序的流。有一个调试器,可以让您逐行查看变量的当前值
function insertLetters(underlines, positions, bokstav){
underlines[positions] = letter;
return underlines;
}
通过查看插入字母,位置
应该是一个整数索引值数组,但它直接用作整数。也许可以尝试迭代位置中的值
,并使用这些值索引下划线
function insertLetters(underlines, positions, letter){
for (let i = 0; i < positions.length; i++) {
const pos = positions[i];
underlines[pos] = letter;
}
}
函数插入字母(下划线、位置、字母){
for(设i=0;i
我认为,在getPositions
中,您可以做的最后一件事是用positions=[]清除positions数组代码>
总的来说,您的代码看起来相当实用。注意尝试将变量直接传递给函数,而不是依赖全局变量