【问题标题】:how to store multiple characters in one variable in javascript?如何在javascript中的一个变量中存储多个字符?
【发布时间】:2015-05-19 04:10:21
【问题描述】:
我正在尝试创建一个猜谜游戏,每次用户单击一个字符时,它都会存储在一个变量中以形成一个字符串。比方说......(c t p i j a r a v s)所以如果用户分别点击 J A V A S C R I P T ,它将作为“javascript”存储在一个变量中,并将被识别为正确答案。我的代码如下所示:
clickcount = 0;
$(".gameletter").click(function() {
keyletter = $(this).attr("ID");
vars['m' + clickcount] = keyletter;
clickcount++;
}
});
但我不知道如何将每个键字母组合成一个字符串...谢谢
【问题讨论】:
标签:
javascript
jquery
arrays
variables
【解决方案1】:
使用数组而不是对象来存储字母,并使用join()将它们组合成一个字符串:
var clickcount = 0;
var letters = [];
$(".gameletter").click(function() {
var letter = $(this).attr("ID");
letters.push(letter);
clickcount++;
});
// ...
var string = letters.join('');
【解决方案2】:
我会通过将目标单词拆分为一个数组并在他们猜对时删除字母来解决这个问题。一旦单词数组长度为0,他们就赢了:
var word = 'javascript'.split(''); // ['j', 'a', 'v', 'a' ...]
function guessLetter(guess) {
if(word.indexOf(guess) > -1) {
// remove correct letter guess from word
word.splice(word.indexOf(guess), 1);
}
if(word.length === 0) {
console.log('you win');
}
}
guessLetter('j');